Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC - Почему не работает DataAnnotation для адреса Email? / 3 сообщений из 3, страница 1 из 1
02.03.2017, 10:50
    #39412997
ValGer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC - Почему не работает DataAnnotation для адреса Email?
Добрый день!
Какая-то странная проблема - не работает проверка адреса эл. почты в классе модели.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
    
public class RegisterModel
    {
        [Required]
        [Display(Name = "Имя пользователя")]
        public string UserName { get; set; }

        [Required]
        [Display(Name = "Адрес электронной почты")]
        [DataType(DataType.EmailAddress, ErrorMessage = "Некорректный адрес электронной почты")]
        public string Email { get; set; }

        [Required]
        [StringLength(100, ErrorMessage = "Значение \"{0}\" должно содержать не менее {2} символов.", MinimumLength = 3)]
        [DataType(DataType.Password)]
        [Display(Name = "Пароль")]
        public string Password { get; set; }
.....................................................................



Со всем остальным полный порядок, а тут что-то не так. Вношу в поле всё что угодно - и всё ему нравится.
В чём может быть проблема? Чего не хватает?
С уважением ВВГ
...
Рейтинг: 0 / 0
02.03.2017, 12:10
    #39413044
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC - Почему не работает DataAnnotation для адреса Email?
ValGer,

Если у вас 4.5, то нужен EmailAddressAttribute .
[EmailAddress(ErrorMessage = "Invalid Email Address")]
...
Рейтинг: 0 / 0
02.03.2017, 16:09
    #39413221
ValGer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC - Почему не работает DataAnnotation для адреса Email?
big-dukeValGer,

Если у вас 4.5, то нужен EmailAddressAttribute .
[EmailAddress(ErrorMessage = "Invalid Email Address")]

Спасибо, большое!
Сработало.
Правда, в случае ошибки поле лишь окаймляется красным цветом, но сообщение "Invalid Email Address" не появляется. Сообщение выдаётся лишь, когда в представлении, ввод адреса дополнен валидацией:
Код: html
1.
2.
3.
4.
5.
            <li>
                @Html.LabelFor(m => m.Email)
                @Html.TextBoxFor(m => m.Email)
                @Html.ValidationMessageFor(m=>m.Email, "Ошибка!!!")
            </li>



Кроме того, за ошибку не считается наличие в строке адреса символов кириллицы - это плохо! Придётся, видимо, дополнять ещё и регулярным выражением.
С уважением ВВГ
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC - Почему не работает DataAnnotation для адреса Email? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]