在其中一个视图模型字段中,我在ASP.NET MVC数据注释属性中设置了最小长度。
[MinLength(5, ErrorMessage = "A minimum of 5 digits is required")]
基于下拉选择(具有2个值),MinLength需要更新为10. ClientSideValidation已启用,因此验证需要在将更改发布回控制器之前反映更改。
尝试使用基于下拉值的jQuery更改属性“data-val-minlength-min”,但它没有更改验证。
请提出任何建议。
答案 0 :(得分:1)
尝试这种方法。这是为模型中的多个字段使用RemoteValidations。
[Remote("CheckForSelectedDropDownLengthMethod","ControllerName",AdditionalFields="SelectedDropDownName",ErrorMessage="The length should be be 10 characters.")]
public class ControllerName: Controller
{
public JsonResult CheckForSelectedDropDownLengthMethod(Model yourmodel)
{
// write your logic to validate the logic here ,
// Get the selected value of the dropdown, and the field where you want to check the length.
}
}
请按照其中一个示例 https://www.codeproject.com/Tips/669824/Implementing-Remote-Validation-in-MVC
答案 1 :(得分:0)
@StephenMuecke给了我需要的解决方案。它可以根据需要在客户端和服务器端工作。我发布它作为答案,以便下一个人可以很容易地看到它。
创建自己的条件验证属性,以便同时获得客户端和服务器端验证 - The Complete Guide To Validation In ASP.NET MVC 3 - Part 2