有没有一种快速的方法来为模型中的所有字段默认错误消息?

我希望验证返回文本:

“*为必填项”

...但是不想在每个字段上手动设置它。

谢谢保罗

最佳答案

您可以编写自定义的Required属性

[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property,                                              AllowMultiple = true, Inherited = true)]
public sealed class AEMRequiredAttribute: ValidationAttribute
{
    private const string _defaultErrorMessage = "* required";
    public AEMRequiredAttribute()
        : base(_defaultErrorMessage)
    {        }
    public override string FormatErrorMessage(string name)
    {
        return String.Format(CultureInfo.CurrentUICulture, "* required", name);
    }
    public override bool IsValid(object value)
    {
        if (value == null || String.IsNullOrWhiteSpace(value.ToString())) return false;
        else return true;
    }
}

如下调用此属性:
public partial class AEMClass
    {
        [DisplayName("Dis1")]
        [AEMRequiredAttribute]
        public string ContractNo { get; set; }
    }

关于asp.net-mvc - MVC3客户端验证-仅显示“* required ”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5468917/

10-17 02:22