Установите dateFormat в валидатор jquery datepicker и MVC

Я использую валидатор jquery datepicker для проверки ввода текста.

У меня проблема в том, что если я нажму «Отправить», все сообщения об ошибках отобразятся правильно.

Однако при вводе средства выбора даты текст, вводимый при вводе даты, не проверяет значение даты 23/11/2020, а проверяет значение даты 12/11/2020.

В этом случае я думаю, что сценарий ошибочно принимает месяц за день.

Если изменить параметр dateFormat с dd/mm/yy на mm/dd/yy jquery datepicker, все даты будут проверены, но формат для типа ввода будет

введите здесь описание изображения

а не 18/11/2020 значение даты

Что здесь может происходить. Спасибо

Мой код выглядит следующим образом.

    public class PersonModel
    {
        [Column(TypeName = "date")]
        [Display(Name = "Spanish Date")]
        [Required]
        [DataType(DataType.Date)]
        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
        public DateTime? SpanishDate { get; set; }
    }

    @using (Html.BeginForm("Index", "Home", FormMethod.Post))
    {
        @Html.AntiForgeryToken()
        <div>
            @Html.ValidationSummary(true, "Date is invalid", new { @class = "text-danger" })

            <table cellpadding="0" cellspacing="0">
                <tr>
                    <td class="textarea">Spanish Date</td>
                    <td>

                        @Html.TextBoxFor(m => m.SpanishDate, "{0:dd/MM/yyyy}", new { @class = "textarea", placeholder = "Spanish Date", @readonly = "true" })
                        @Html.ValidationMessageFor(m => m.SpanishDate, "", new { @class = "text-danger" })
                    </td>
                </tr>
            </table>
            <br />
            <hr class="new3">
            <div class="form-group">
                <div class="col-md-offset-5 col-md-10">
                    <input type="submit" value="Create" class="btn btn-default" />
                </div>
            </div>
        </div>
    }

@section Scripts {

    @Scripts.Render("~/bundles/jqueryui")
    @Styles.Render("~/Content/cssjqryUi")

    <script type="text/javascript">
        jQuery(function ($) {

            $.datepicker.regional['es'] = {
                 closeText: 'Cerrar',
                 prevText: '<Ant',
                 nextText: 'Sig>',
                 currentText: 'Hoy',
                 monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
                 monthNamesShort: ['Ene','Feb','Mar','Abr', 'May','Jun','Jul','Ago','Sep', 'Oct','Nov','Dic'],
                 dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
                 dayNamesShort: ['Dom','Lun','Mar','Mié','Juv','Vie','Sáb'],
                 dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'],
                 weekHeader: 'Sm',
                 dateFormat: 'dd/mm/yy',
                 firstDay: 1,
                 isRTL: false,
                 showMonthAfterYear: false,
                 yearSuffix: ''
            };
            $.datepicker.setDefaults($.datepicker.regional['es']);
        });

        var options = $.extend({},
            $.datepicker.regional["es"], {
            dateFormat: "dd/mm/yy",
            changeMonth: true,
            changeYear: true,
            yearRange: "-2:+0",
            highlightWeek: true,
            maxDate: 0
        }
        );
        $("#SpanishDate").datepicker(options);
    </script>
}

Решено с помощью проверки MVC DateTime - формат даты в Великобритании

спасибо


person Iter Lsic Iealf    schedule 25.11.2020    source источник