Using Foolproof RequiredIf on multiplecondition

2019-08-15 04:27发布

I have a dropdownlist named CustomerType with the the following values

Id     Name
1      Student
2      Non-Employed
3      Employed
4      SelfEmployed

and I have one more property in my viewmodel public string CompanyAddress{ get; set; }

My goal is to make CompanyAddress required if dropdownlist has values 3 or 4

I have tried the following but gets error Cannon have duplicate RequiredIf

    [RequiredIf("customerTypeID", 3, ErrorMessage = "Please enter company address")]
    [RequiredIf("customerTypeID", 4, ErrorMessage = "Please enter company address")]
    public string CompanyAddress { get; set; }

1条回答
疯言疯语
2楼-- · 2019-08-15 05:04

This will put logic in your model (which is usually a no-no), but it will work. You could change your validation to be like this:

[RequiredIf("CompanyAddressRequired", true, ErrorMessage = "Please enter company address")]

And then have a property with a getter like this:

public bool CompanyAddressRequired
{
    get
    {
        return customerTypeID == 3 || customerTypeID == 4;
    }
}
查看更多
登录 后发表回答