Пользовательский блок проверки допустимости DataAnnotations, полученный из RegularExpressionAttribute

Gu обеспечивает пример того, как Вы могли бы создать нестандартный элемент верификации, который переопределяет RegularExpressionAttribute.

Преимущество этого состоит в том, что Вы не должны создавать пользовательский Образцовый Блок проверки допустимости, но я не могу заставить его работать.

Учитывая следующий код:

public class NameAttribute : RegularExpressionAttribute {
    public NameAttribute()
        : base(@"^[\w\s\-\']+$") {
    }
}

Это работает:

[RegularExpression(@"^[\w\s\-\']+$")]

Но это не делает:

[Name]

Я неправильно понял аспект примера Scott, или пример испорчен, в котором MVC не поддерживает производные типы из поля, поэтому на самом деле я должен буду создать соответствующий ModelValidator?

5
задан Scott Baker 19 April 2011 в 22:25
поделиться

2 ответа

Взломал! Добавьте следующее в Global.asax.cs Application_Start ()

DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(NameAttribute), typeof(RegularExpressionAttributeAdapter));
11
ответ дан 13 December 2019 в 05:32
поделиться

Если вы хотите проверить клиента, вам следует зарегистрировать серверный адаптер для удаленной проверки.

См. Здесь: http://msdn.microsoft.com/en-us/magazine/ee336030.aspx

и здесь: http: / /bradwilson.typepad.com/blog/2010/01/remote-validation-with-aspnet-mvc-2.html

1
ответ дан 13 December 2019 в 05:32
поделиться
Другие вопросы по тегам:

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