簡體   English   中英

ASP .NET外部的數據注釋

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM