Я хотел бы создать пользовательский атрибут проверки для MVC2 для адреса электронной почты, который не наследовался RegularExpressionAttribute, но это может использоваться в клиентской проверке. Кто-либо может указать на меня в правильном направлении?
Я попробовал что-то настолько простое:
[AttributeUsage( AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false )]
public class EmailAddressAttribute : RegularExpressionAttribute
{
public EmailAddressAttribute( )
: base( Validation.EmailAddressRegex ) { }
}
но это, кажется, не работает на клиент. Однако, если я использую RegularExpression (Проверка. EmailAddressRegex)] это, кажется, хорошо работает.
Вы пробовали использовать аннотации к данным?
Это мой проект аннотаций с использованием System.ComponentModel.DataAnnotations;
public class IsEmailAddressAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
//do some checking on 'value' here
return true;
}
}
Это в моем проекте Models
namespace Models
{
public class ContactFormViewModel : ValidationAttributes
{
[Required(ErrorMessage = "Please provide a short message")]
public string Message { get; set; }
}
}
Это мой контроллер
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ContactUs(ContactFormViewModel formViewModel)
{
if (ModelState.IsValid)
{
RedirectToAction("ContactSuccess");
}
return View(formViewModel);
}
Вам понадобится Google DataAnnotations, так как вам нужно захватить проект и скомпилировать его. Я бы сделал это, но мне нужно выбраться отсюда надолго.
Надеюсь, это поможет.
РЕДАКТИРОВАТЬ