Шпаргалка по валидации форм в ASP.NET MVC

Шпаргалка по валидации форм в ASP.NET MVC

Атрибуты валидации для моделей:

[Display(Name = "Название")]

[Required]
[Required(ErrorMessage = "Поле должно быть установлено")]

[StringLength(50, MinimumLength = 3, ErrorMessage = "Длина строки должна быть от 3 до 50 символов")]

[Range(1700,2000,ErrorMessage="Недопустимый год")]

[DataType(DataType.Password)]
Currency - Отображает текст в виде валюты
DateTime - Отображает дату и время
Date - Отображает только дату, без времени
Time - Отображает только время
Text - Отображает однострочный текст
MultilineText - Отображает многострочный текст (элемент textarea)
Password - Отображает символы с использованием маски
Url - Отображает строку URL
EmailAddress - Отображает электронный адрес

[ScaffoldColumn(false)]
[NotMapped]


[HiddenInput(DisplayValue = false)]

[RegularExpression (@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}", ErrorMessage = "Некорректный адрес")]

[Compare("Password",ErrorMessage="Пароли не совпадают")]


Хелперы валидации для View:

@Html.ValidationSummary(true) // true - вверху только ошибки модели, а не полей

@Html.LabelFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)


Конструкции валидации для контроллеров:

ModelState.IsValid == false
ModelState.IsValidField("Name") == false
ModelState["Name"].Errors.Count > 0

ModelState.AddModelError("Name", "Некорректное название книги");
ModelState.AddModelError("","Год не должен быть равен 1984");

Комментариев нет :

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.