Я пытаюсь удалить текст проверки по умолчанию из поля DateTimeOffset.
<div class="form-group">
<label asp-for="BirthDate">Birth Date</label>
<span style="font-style:italic; font-size:12px;"> Year-month-Day || 2019-12-23</span>
<br><span asp-validation-for="BirthDate" class="text-danger"></span>
<input type ="text" asp-for="BirthDate" class="form-control" novalidate/>
</div>
Контроллер, откуда должен быть передан текст ошибки валидации:
if (model.BirthDate == null) {
ModelState.AddModelError ("BirthDate", "birthdate can not be null");
validator = true;
break;
} else {
if (!model.BirthDate.ToString().Contains ('-')) {
ModelState.AddModelError ("BirthDate", "incorrect format");
validator = true;
break;
}
}
ApplicationUser.cs
public DateTimeOffset BirthDate { get; set; }
RegisterViewModel - Viewmodel, которую я использую в представлении регистрации
public DateTimeOffset BirthDate { get; set; }
Я получаю текст ошибки, например, такой:
Недопустимое значение ''. Который я нигде не написал.
Я попытался указать пользовательский текст проверки в атрибуте Required, но он все равно переопределяется. Я также попытался отключить проверку по умолчанию в Startup.cs следующим образом:
services.Configure<ApiBehaviorOptions>(options =>
{
options.SuppressModelStateInvalidFilter = true;
});
Все еще не работает.