开发者

Custom DataAnnotations Validator Derived from RegularExpressionAttribute

The Gu provides an example of how you might create a custom validator that overrides RegularExpressionAttribute .

The advantage of this is that you don't have to create a custom Model Validator but I can't get it to work.

Given the following code:

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

This works:

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

But this doesn't:

[Name]

Have I misunderstood an aspect of Scott's example or is the example flawed in that MVC doesn't support derived types out o开发者_C百科f the box, so actually I will have to create a a corresponding ModelValidator?


Cracked it! Add the following to Global.asax.cs Application_Start()

DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(NameAttribute), typeof(RegularExpressionAttributeAdapter));


If u wanna a client validation, you should Register a server-side adapter for remote validation.

See here: http://msdn.microsoft.com/en-us/magazine/ee336030.aspx

and here: http://bradwilson.typepad.com/blog/2010/01/remote-validation-with-aspnet-mvc-2.html

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜