如何创建覆盖RegularExpressionAttribute的自定义验证器的The Gu provides an example。
这样做的好处是您不必create a custom Model Validator,但我无法使其正常工作。
给出以下代码:
public class NameAttribute : RegularExpressionAttribute {
public NameAttribute()
: base(@"^[\w\s\-\']+$") {
}
}
这有效:
[RegularExpression(@"^[\w\s\-\']+$")]
但这不是:
[Name]
我是否误解了斯科特示例的一个方面,或者该示例存在缺陷,因为MVC不支持开箱即用的派生类型,因此实际上我将不得不创建一个对应的ModelValidator?
最佳答案
破解了!将以下内容添加到Global.asax.cs Application_Start()
DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(NameAttribute), typeof(RegularExpressionAttributeAdapter));