asp.net外部的数据注释
本文关键字:数据 注释 外部 net asp | 更新日期: 2023-09-27 18:16:16
我想在一些对象的属性上使用RegularExpressionAttribute
,但该对象将在asp.net之外使用。我还想定制与RegularExpressionAttribute
相关联的错误消息。例如,我希望错误消息是这样的:
您输入的"value"与所需的模式不匹配。
是否有一种方法来指定错误消息的"值"部分?它看起来像我可以使用IValidatable
接口,但也许有一个简单的方法,我错过了?
提前感谢!
您可以添加对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);
}
}