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: |

If riding a bucking bronco is your idea of fun, you’re going to love what the stock market has in store. Consider this past week’s ride a preview.The week’s action didn’t look like much, if you didn’t know better. The Dow Jones Industrial Average rose 213.12 points or 0.6%, while the S&P 500 advanced 0.5%, and the Nasdaq Composite ended little changed.

Telegram hopes to raise $1bn with a convertible bond private placement

The super secure UAE-based Telegram messenger service, developed by Russian-born software icon Pavel Durov, is looking to raise $1bn through a bond placement to a limited number of investors from Russia, Europe, Asia and the Middle East, the Kommersant daily reported citing unnamed sources on February 18, 2021.The issue reportedly comprises exchange bonds that could be converted into equity in the messaging service that is currently 100% owned by Durov and his brother Nikolai.Kommersant reports that the price of the conversion would be at a 10% discount to a potential IPO should it happen within five years.The minimum bond placement is said to be set at $50mn, but could be lowered to $10mn. Five-year bonds could carry an annual coupon of 7-8%.

telegram from in


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