0

JQueryОблицовочные проблемы при проверке адрес электронной почты

$(document).ready(function() { 
    var EmailContainer = $('#EmailContainer'); 
    var url = EmailContainer.attr('data-url'); 
    EmailContainer.load(url, function() { 
     var Emailform = $('#EmailForm'); 
     $.validator.unobtrusive.parse(Emailform); 
     Emailform.submit(function() { 
      debugger; 
      var Emailform = $(this); 
      if (Emailform.valid()) { 
       var SendEmailUrl = EmailContainer.attr('Json-Url'); 
       var UserModel = { From: $('#From').val(), To: $('#To').val(), 
         Subject: $('#Subject').val(), 
         Description: $('#Description').val() } 
       $.post(SendEmailUrl, UserModel, function (data) { 
        Emailform.html(data); 
        Emailform.removeData('validator'); 
        Emailform.removeData('unobtrusiveValidation'); 
        $.validator.unobtrusive.parse(Emailform); 
       }); 
      } 
      return false; 
     }); 
    }); 
}); 

Модель

public class User 
    { 
     [Required(ErrorMessageResourceType = typeof(Resource1), 
       ErrorMessageResourceName = "From")] 
     [DataType(System.ComponentModel.DataAnnotations.DataType.EmailAddress, 
       ErrorMessageResourceType = typeof(Resource1), 
       ErrorMessageResourceName = "InvalidEmail")] 
     [DisplayName("From Email Address")] 
     public String From { get; set; } 

     [Required(ErrorMessageResourceType = typeof(Resource1), 
        ErrorMessageResourceName = "To")] 
     [DataType(System.ComponentModel.DataAnnotations.DataType.EmailAddress, 
        ErrorMessageResourceType = typeof(Resource1), 
        ErrorMessageResourceName = "InvalidEmail")] 
     [DisplayName("To Email Address")] 
     public String To { get; set; } 

     [Required(ErrorMessageResourceType = typeof(Resource1), 
        ErrorMessageResourceName = "Subject")] 
     [DisplayName("Subject")] 
     public String Subject { get; set; } 

     [Required(ErrorMessageResourceType = typeof(Resource1), 
        ErrorMessageResourceName = "Description")] 
     [DisplayName("Description")] 
     public String Description { get; set; } 
    } 

Проблема - не показывая валидацию Неверный адрес электронной почты

ответ

2

Проблема - не показывая валидацию Неверный адрес электронной почты

Я не могу увидеть где-нибудь в вашем коде, где вы сделали какие-либо проверки. Если вы хотите сделать проверку затем использовать соответствующие проверки атрибутов вашей модели собственности:

[Required(ErrorMessageResourceType = typeof(Resource1), 
     ErrorMessageResourceName = "From")] 
[DataType(System.ComponentModel.DataAnnotations.DataType.EmailAddress, 
     ErrorMessageResourceType = typeof(Resource1), 
     ErrorMessageResourceName = "InvalidEmail")] 
[DisplayName("From Email Address")] 
[RegularExpression("GET A REGEX TO VALIDATE AN EMAIL FROM HERE: http://www.regular-expressions.info/email.html")] 
public string From { get; set; } 

Очевидно же стоит верно для To имущества, если это предназначено, чтобы быть по электронной почте:

[Required(ErrorMessageResourceType = typeof(Resource1), 
      ErrorMessageResourceName = "To")] 
[DataType(System.ComponentModel.DataAnnotations.DataType.EmailAddress, 
      ErrorMessageResourceType = typeof(Resource1), 
      ErrorMessageResourceName = "InvalidEmail")] 
[DisplayName("To Email Address")] 
[RegularExpression("GET A REGEX TO VALIDATE AN EMAIL FROM HERE: http://www.regular-expressions.info/email.html")] 
public string To { get; set; } 

Так иди получите регулярное выражение для электронной почты здесь: http://www.regular-expressions.info/email.html

-1

System.ComponentModel.DataAnnotations.DataType.EmailAddress не для проверки электронной почты , Он используется, поэтому ASP.Net MVC может решить, как рассчитать значение поля.

Вы должны написать свою собственную логику для проверки подлинности электронной почты. Если мы применим System.ComponentModel.DataAnnotations.DataType.EmailAddress к любому свойству, то это поле будет отображаться гиперссылкой, а не как обычный текст, в котором будет добавлена ​​ссылка «mailTo». Добавьте свою собственную логику для проверки адреса электронной почты, написав аннотации пользовательских данных.

Приветствия

+0

Вы говорите о пользовательских атрибутах? – SMC

+0

Да, напишите свой атрибут, наследуя класс System.ComponentModel.DataAnnotations.ValidationAttribute и добавьте логику в метод IsValid(). –

Смежные вопросы