Тег-хелперы сообщений валидации и сводки сообщений¶
Мы уже видели, как тег-хелпер <input> генерирует атрибуты валидации data-val-*. Однако для того, чтобы отображать сообщения проверки, нужно воспользоваться тег-хелпером для тега <span>, используя для этого атрибут asp-validation-for:
когда ошибка возникает на стороне клиента, сообщение будет отображаться в соответствующем теге
<span>. Если валидация на стороне сервера1 завершиться неудачей, этот же элемент будет использоваться для отображения сообщений валидации.
Помимо отображения сообщений валидации для отдельных свойств, можно отобразить сводку всех сообщений в элементе <div> с помощью тег-хелпера Validation Summary:
Возможно три значения:
None— не отображать;ModelOnly— отображать ошибки, не ассоциированные со каким-либо свойством;All— отображать ошибки, ассоциированные со свойством, либо с моделью.
Тег-хелпер сводки особенно полезен, если возможны ошибки, не связанные с конкретным свойством. Их можно добавить к состоянию модели, используя пустой ключ:
public class ConverModel : PageModel
{
[BindProperty]
public InputModel Input { get; set; }
[HttpPost]
public IActionResult OnPost()
{
if(Input.CurrencyFrom == Input.CurrencyTo)
{
ModelState.AddModelError(string.Empty, "Cannot convert currency to itself");
}
if(!ModelState.IsValid)
{
return Page();
}
//Ошибок нет, сохраняем введенные значения...
return RedirectToPage("Checkout");
}
}
Без тег-хелпера сводки ошибка не была бы отображена, и пользователю не было бы понятно, в чём она заключается.
Последнее обновление :
21 апреля 2023 г.
Дата создания : 27 сентября 2022 г.
Дата создания : 27 сентября 2022 г.