Проверка формы в модели - PullRequest
       2

Проверка формы в модели

0 голосов
/ 30 ноября 2018

Я в процессе обучения .Net Core MVC, пытаюсь выполнить проверку формы в модели, но она не работает должным образом.

В модели:

namespace VPV.Models {
    public class Event : IValidatableObject {

        [Required(ErrorMessage = "Feltet 'Start' er obligatorisk")]
        [DisplayFormat(DataFormatString = "{0:g}", ApplyFormatInEditMode = true)]
        [DataType(DataType.DateTime, ErrorMessage = "Der er ikke angivet en gyldig 'Start'")]
        public DateTime StartDateTime { get; set; }

    }
}

В форме:

<div asp-validation-summary="All"></div>

и:

<input asp-for="Event.StartDateTime" type="text" class="form-input fv-req" />

Проблема заключается в том, что если я оставлю поле StartDateTime пустым, на экране появится сообщение об ошибке «Значение»'Неправильно', а не тот, который я набрал в модели.

Кроме того, при вводе недопустимого значения даты и времени в поле появляется сообщение об ошибке: «Значение '15 / 11/2019 09.81 'недопустимоfor StartDateTime "- снова я хотел бы получить собственное сообщение об ошибке.

Что я делаю не так?

1 Ответ

0 голосов
/ 30 ноября 2018

Тип DateTime имеет значение по умолчанию.Вот почему обязательный атрибут не срабатывает.Что я всегда делаю, так это если я ожидаю, что свойство будет нулевым или пустым, я делаю его обнуляемым.

Пример.

DateTime? StartDateTime

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...