Gu обеспечивает пример того, как Вы могли бы создать нестандартный элемент верификации, который переопределяет RegularExpressionAttribute.
Преимущество этого состоит в том, что Вы не должны создавать пользовательский Образцовый Блок проверки допустимости, но я не могу заставить его работать.
Учитывая следующий код:
public class NameAttribute : RegularExpressionAttribute {
public NameAttribute()
: base(@"^[\w\s\-\']+$") {
}
}
Это работает:
[RegularExpression(@"^[\w\s\-\']+$")]
Но это не делает:
[Name]
Я неправильно понял аспект примера Scott, или пример испорчен, в котором MVC не поддерживает производные типы из поля, поэтому на самом деле я должен буду создать соответствующий ModelValidator?
Взломал! Добавьте следующее в Global.asax.cs Application_Start ()
DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(NameAttribute), typeof(RegularExpressionAttributeAdapter));
Если вы хотите проверить клиента, вам следует зарегистрировать серверный адаптер для удаленной проверки.
См. Здесь: http://msdn.microsoft.com/en-us/magazine/ee336030.aspx
и здесь: http: / /bradwilson.typepad.com/blog/2010/01/remote-validation-with-aspnet-mvc-2.html