如何在多个属性属性上的自定义验证属性上首次验证失败?

时间:2017-03-24 10:29:56

标签: c# asp.net-mvc validation data-annotations

我有三个自定义验证属性:Req,FixedLen和Number。我编写了自定义验证属性,以便在每次使用它时都不会编写错误消息,因为我的网站是波斯语,我需要波斯语消息。这就是我在模型中使用它们的方式:

[Req]
[FixedLen(8)]
[Number]
public string phone { get; set; }

问题是即使第一个属性检测到其他两个属性被触发的数据有问题。因此,即使发布的数据为null,我的FixedLen属性也会调用isValid方法。我想要的是,在第一次验证失败时,此属性的验证会中断,我的下一个属性将被验证。

编辑:

public class ReqAttribute : ValidationAttribute
{
    private string error_msg = "فیلد الزامی";
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        if (value == null || value.ToString().Trim().Length == 0)
            return new ValidationResult(error_msg);
        return null;
    }
}

0 个答案:

没有答案