Telegram Group & Telegram Channel
День триста семьдесят восьмой. #ЗаметкиНаПолях
ASP.NET MVC 5.
Аннотации и Валидация Данных. Начало
Когда мы говорим о проверке в контексте MVC, мы в первую очередь имеем в виду проверку значений модели. Функции валидации в ASP.NET MVC помогают в этом. Они являются расширяемыми: вы можете создавать собственные схемы проверки, но чаще используется декларативный стиль проверки, известный как аннотации данных.
Аннотации данных - это атрибуты в основном из пространства имен System.ComponentModel.DataAnnotations, которыми помечаются свойства модели. Это обеспечивает проверку на стороне сервера, но платформа также поддерживает проверку на стороне клиента. Большинство атрибутов валидации имеют необязательный параметр ErrorMessage, хранящий сообщение об ошибке, которое получит пользователь.

Основные атрибуты валидации данных
Required
– обязательное поле:
[Required(ErrorMessage="Пожалуйста, введите имя")]

Range – диапазон допустимых значений. Граничные значения включаются. Перегруженная версия принимает тип и две строки, что позволяет задать числа с точкой или даты:
[Range(100,500,ErrorMessage="Введите корректное число")]
[Range(typeof(decimal), "0.00", "49.99")]

StringLength – максимальная (необязательно – минимальная) длина строки:
[StringLength(30, MinimumLength=3)]

RegularExpression – регулярное выражение для проверки, например, e-mail адреса:
[RegularExpression(@"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$")]

Compare – принимает имя другого свойства модели и проверяет значения на равенство (например, для проверки равенства введённых паролей при регистрации):
[Compare("Password")]

Remote – позволяет выполнять валидацию на стороне клиента при помощи обратного вызова на сервер. Принимает имя метода действия и контроллера:
[Remote("CheckUserName", "Account")]

Следующие аннотации позволяют помощникам HTML EditorFor или LabelFor правильно отображать свойства модели в представлении:
Display – «дружелюбное» к пользователю имя свойства для отображения:
[Display(Name="Название")]

DataType – тип данных для отображения:
[DataType(DataType.Text)]

DisplayFormat – формат данных для отображения:
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}")]

HiddenInput – сообщает, что это свойство нужно отобразить как скрытое поле.

ReadOnly – запрещает связывателю модели изменять значение свойства, но EditorForModel всё равно отобразит свойство как поле для ввода:
[ReadOnly(true)]

ScaffoldColumn – скрывает свойство от HTML помощников EditorForModel и DisplayForModel. Однако, связыватель модели всё равно постарается задать ему значение, если найдёт соответствующий параметр в запросе.
[ScaffoldColumn(false)]

Источник: Jon Galloway “Professional ASP.NET MVC 5”. – John Wiley & Sons Inc., 2014. Глава 6.
👍1



tg-me.com/NetDeveloperDiary/452
Create:
Last Update:

День триста семьдесят восьмой. #ЗаметкиНаПолях
ASP.NET MVC 5.
Аннотации и Валидация Данных. Начало
Когда мы говорим о проверке в контексте MVC, мы в первую очередь имеем в виду проверку значений модели. Функции валидации в ASP.NET MVC помогают в этом. Они являются расширяемыми: вы можете создавать собственные схемы проверки, но чаще используется декларативный стиль проверки, известный как аннотации данных.
Аннотации данных - это атрибуты в основном из пространства имен System.ComponentModel.DataAnnotations, которыми помечаются свойства модели. Это обеспечивает проверку на стороне сервера, но платформа также поддерживает проверку на стороне клиента. Большинство атрибутов валидации имеют необязательный параметр ErrorMessage, хранящий сообщение об ошибке, которое получит пользователь.

Основные атрибуты валидации данных
Required
– обязательное поле:

[Required(ErrorMessage="Пожалуйста, введите имя")]

Range – диапазон допустимых значений. Граничные значения включаются. Перегруженная версия принимает тип и две строки, что позволяет задать числа с точкой или даты:
[Range(100,500,ErrorMessage="Введите корректное число")]
[Range(typeof(decimal), "0.00", "49.99")]

StringLength – максимальная (необязательно – минимальная) длина строки:
[StringLength(30, MinimumLength=3)]

RegularExpression – регулярное выражение для проверки, например, e-mail адреса:
[RegularExpression(@"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$")]

Compare – принимает имя другого свойства модели и проверяет значения на равенство (например, для проверки равенства введённых паролей при регистрации):
[Compare("Password")]

Remote – позволяет выполнять валидацию на стороне клиента при помощи обратного вызова на сервер. Принимает имя метода действия и контроллера:
[Remote("CheckUserName", "Account")]

Следующие аннотации позволяют помощникам HTML EditorFor или LabelFor правильно отображать свойства модели в представлении:
Display – «дружелюбное» к пользователю имя свойства для отображения:
[Display(Name="Название")]

DataType – тип данных для отображения:
[DataType(DataType.Text)]

DisplayFormat – формат данных для отображения:
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}")]

HiddenInput – сообщает, что это свойство нужно отобразить как скрытое поле.

ReadOnly – запрещает связывателю модели изменять значение свойства, но EditorForModel всё равно отобразит свойство как поле для ввода:
[ReadOnly(true)]

ScaffoldColumn – скрывает свойство от HTML помощников EditorForModel и DisplayForModel. Однако, связыватель модели всё равно постарается задать ему значение, если найдёт соответствующий параметр в запросе.
[ScaffoldColumn(false)]

Источник: Jon Galloway “Professional ASP.NET MVC 5”. – John Wiley & Sons Inc., 2014. Глава 6.

BY .NET Разработчик


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/NetDeveloperDiary/452

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

How Does Bitcoin Mining Work?

Bitcoin mining is the process of adding new transactions to the Bitcoin blockchain. It’s a tough job. People who choose to mine Bitcoin use a process called proof of work, deploying computers in a race to solve mathematical puzzles that verify transactions.To entice miners to keep racing to solve the puzzles and support the overall system, the Bitcoin code rewards miners with new Bitcoins. “This is how new coins are created” and new transactions are added to the blockchain, says Okoro.

The Singapore stock market has alternated between positive and negative finishes through the last five trading days since the end of the two-day winning streak in which it had added more than a dozen points or 0.4 percent. The Straits Times Index now sits just above the 3,060-point plateau and it's likely to see a narrow trading range on Monday.

telegram from us


Telegram .NET Разработчик
FROM USA