#c# #razor #model #blazor #data-annotations
#c# #razor #Модель #blazor #данные-аннотации
Вопрос:
Вот фрагмент из моего класса модели
[Required]
[DataType(DataType.Date)]
[Display(Name = "Birth Day")]
public DateTime customerBirthDate { get; set; } = DateTime.Today;
Вот фрагмент из моего файла razor
<div class="wrap-input100 validate-input">
<span class="label-input100">Date of Birth</span>
<InputDate class="input100" id="birthday" name="birthday" @bind-Value="CurrentCustomerSubmission.customerBirthDate" />
<ValidationMessage For="@(() => Model.customerBirthDate)" />
</div>
Когда я удаляю дату из поля InputDate, я ожидаю, что она скажет
«Поле День рождения должно быть датой».
но то, что я на самом деле вижу, это
«Поле customerBirthDate должно содержать дату».
Я тестировал это в Chrome
Ответ №1:
Вы можете сделать это следующим образом
[Required]
[DataType(DataType.Date,ErrorMessage = "The Birth Day field must be a date.")]
[Display(Name = "Birth Day")]
public DateTime customerBirthDate { get; set; } = DateTime.Today;
Комментарии:
1. Я не могу заставить это работать на сервере Blazor 3.1.
Ответ №2:
[Required(ErrorMessage ="{0} field is Required"]
[DataType(DataType.Date,ErrorMessage = "{0} field must be a date.")]
[Display(Name = "Birth Day")]
public DateTime customerBirthDate { get; set; } = DateTime.Today;
Вы можете использовать сообщение об ошибке для требуемого атрибута