在 Jquery 中动态更改 ASP.NET MVC 验证

Change ASP.NET MVC validation dynamically in Jquery

在其中一个视图模型字段中,我在 ASP.NET MVC 数据注释属性中设置了最小长度。

[MinLength(5, ErrorMessage = "A minimum of 5 digits is required")]

基于下拉选择(有 2 个值),MinLength 需要更新为 10。ClientSideValidation 已启用,因此验证需要在回发到控制器之前反映更改。

尝试根据下拉值使用 jQuery 更改属性 "data-val-minlength-min",但它没有更改验证。

有什么建议吗

试试这个方法。这是为了对模型中的多个字段使用 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

@StephenMuecke 给了我需要的解决方案。它根据需要在客户端和服务器端工作。我将它作为答案发布,以便下一个人可以轻松看到它。

创建您自己的条件验证属性,以便您同时获得客户端和服务器端验证 - The Complete Guide To Validation In ASP.NET MVC 3 - Part 2