Как создать пользовательский атрибут проверки для MVC

Я хотел бы создать пользовательский атрибут проверки для MVC2 для адреса электронной почты, который не наследовался RegularExpressionAttribute, но это может использоваться в клиентской проверке. Кто-либо может указать на меня в правильном направлении?

Я попробовал что-то настолько простое:

[AttributeUsage( AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false )]
public class EmailAddressAttribute : RegularExpressionAttribute
{
    public EmailAddressAttribute( )
        : base( Validation.EmailAddressRegex ) { }
}

но это, кажется, не работает на клиент. Однако, если я использую RegularExpression (Проверка. EmailAddressRegex)] это, кажется, хорошо работает.

12
задан devlife 5 March 2010 в 00:16
поделиться

1 ответ

Вы пробовали использовать аннотации к данным?

Это мой проект аннотаций с использованием 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, так как вам нужно захватить проект и скомпилировать его. Я бы сделал это, но мне нужно выбраться отсюда надолго.

Надеюсь, это поможет.

РЕДАКТИРОВАТЬ

Нашел это как быстрый гугл.

-2
ответ дан 2 December 2019 в 04:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: