asp.net外部的数据注释

本文关键字:数据 注释 外部 net asp | 更新日期: 2023-09-27 18:16:16

我想在一些对象的属性上使用RegularExpressionAttribute,但该对象将在asp.net之外使用。我还想定制与RegularExpressionAttribute相关联的错误消息。例如,我希望错误消息是这样的:

您输入的"value"与所需的模式不匹配。

是否有一种方法来指定错误消息的"值"部分?它看起来像我可以使用IValidatable接口,但也许有一个简单的方法,我错过了?

提前感谢!

asp.net外部的数据注释

您可以添加对System.ComponentModel.DataAnnotations的引用并使用相同的注释。但是不确定如何连接验证

是的,有。

正则表达式属性继承自ValidationAttribute。它具有ErrorMessage, ErrorMessageResourceName和ErrorMessageResourceType等属性。

这些值可以直接应用在你应用它们的地方:

[RegularExpressionAttribute(Pattern="xxx", ErrorMessage = "My custom message.")]

当你想要混合值作为响应的一部分时,你可以通过继承标准属性来创建你自己的属性。下面是一个示例:

public class MyStringLengthAttribute : StringLengthAttribute
{
    private string _value;  
    public override string FormatErrorMessage(string name)
    {   
        return string.Format("Value {0} is not valid.", value);
    }
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        _value = value.ToString();
        return base.IsValid(value, validationContext);
    }
}