在 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
在其中一个视图模型字段中,我在 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