2017-07-06 3 views
3

meiner Meinung nach in verschiedenen Browsern zu werfen Datum aus der Datenbank angezeigt werdenJquery Datepicker Fehler mit mvc

<div class="input-group"> 
    @Html.TextBoxFor(model => model.domain_renew_date, "{0:dd/MMM/yyyy}", new { @type = "datetime", @class = "form-control" }) 
    @Html.ValidationMessageFor(model => model.domain_renew_date, "", new { @class = "text-danger" }) 
</div> 

mein Javascript für picker

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('input[type="datetime"]').datepicker({ 
      dateFormat: "dd/MM/yy", 
      changeMonth: true, 
      changeYear: true, 
      yearRange: "c-10:c+10" 
     }); 
    }); 
</script> 

Modell, bei dem die Eigenschaft deklariert wird

[Display(Name = "Date of Renewal")] 
[DataType(DataType.Date)] 
[RequiredIf("domain_flag", "1", ErrorMessage = "Enter Renew Date")] 
public DateTime? domain_renew_date { get; set; } 

in web.config

<system.web> 
    <globalization uiCulture="en" culture="en-GB" /> 
</system.web> 

Das funktioniert perfekt in Chrome und Firefox. Aber gibt die folgenden Fehler in IE und Safari

Das Feld Datum der Erneuerung muss ein Datum

Welche Veränderungen kann im Code getan werden, um es völlig in Ordnung, funktioniert in allen Browsern?

+0

statt '$ ('input [type = "datetime"]')' verwenden gleiche Klasse für alle Elemente, auf die Sie wollen um date-picker zu zeigen und dann wie '$ ('. class-name '). datepicker ({'. Ich hoffe, das funktioniert für alle Browser –

+0

Oder nehmen Sie Hilfe von diesem: - https://stackoverflow.com/ a/33591786/4248328 –

+0

Es gibt immer noch einen Fehler –

Antwort

1

Der Fehler wurde durch Hinzufügen des folgenden Code

<script> 
jQuery.validator.addMethod(
    'date', 
    function (value, element, params) { 
     if (this.optional(element)) return true; 
     var ok = true; 
     try { 
      $.datepicker.parseDate('dd-M-yy',value); 
     } catch (err) { 
      ok = false; 
     } 
     return ok; 
    }, 
     'Must enter date in dd-M-yy format.' 
); 
gelöst