[英]data annotations outside ASP .NET
我想在某些對象的屬性上使用RegularExpressionAttribute
,但是該對象將在ASP .NET外部使用。 我還想自定義與RegularExpressionAttribute
相關的錯誤消息。 例如,我希望錯誤消息是這樣的:
您輸入的“值”與所需的模式不匹配。
有沒有辦法指定錯誤消息的“值”部分? 看起來我可以使用IValidatable
接口,但是也許我缺少一種簡單的方法?
提前致謝!
您可以添加對System.ComponentModel.DataAnnotations
的引用,並使用相同的注釋。 雖然不確定如何進行驗證。
就在這里。
RegularExpressionAttribute繼承自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);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.