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 of 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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With