我可以使用RegularExpression属性而不是DataAnnotations属性吗?

时间:2009-09-27 14:03:43

标签: .net regex data-annotations

我正在尝试使用可重用的正则表达式类并与MVC中的DataAnnotations一起使用。类似的东西:

[RegularExpressionAttribute1(typeof(MyRegex))] 

如果属性不匹配,则编译但不会引发错误。

这一切都适用于标准

[RegularExpression(@"^\s*\d+(\.\d{1,2})?\s*$")]

1 个答案:

答案 0 :(得分:-1)

您可以创建自定义验证属性以重复使用正则表达式。对于电子邮件验证,您可以执行以下操作:

using System.ComponentModel.DataAnnotations;

public class EmailAttribute : RegularExpressionAttribute
{
    public EmailAttribute()
        : base(@"(?i)^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$") { }
}