my view to display date from database
<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>
my javascript for datepicker
 <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>
model where the property is declared
[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>
This is working perfectly fine in chrome and Firefox. But gives the following error in IE and Safari
The field Date of Renewal must be a date
What changes can be done in the code to make it work perfectly fine in all the browsers?
The error got solved by adding the following 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.'
  );
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With