我有一个带有输入元素的表单。表单中有四个元素是必需的。当我在没有选择的情况下提交表单时,会出现必需的错误,这很好。我在选择下拉值时通过 jquery 填充这些输入字段。现在的问题是 -> 假设我在没有填写输入字段的情况下提交表单,出现所需的验证错误,现在如果我选择下拉值和自动填充的输入字段之一,如下所示:
//Drop down change event
$("#ddl").on("change",function(){
fillFields($("#ddl").val());
});
//Fill my field
function fillFields(val){
if(val){
$("#inputField1").val("autoPopulate"); //textbox fill with text "autoPopulate"
}
}
现在的问题是自动填充后,仍然出现所需的错误。另一方面,如果我手动输入文本框,所需的错误就会消失。 有什么问题?
最佳答案
默认情况下,客户端验证 (jquery.validate.js
) 由 blur()
事件(或 .keyup()
触发>) 并且仅使用 jquery 更新控件的值不会触发任何事件。
可以具体触发事件,例如
$("#inputField1").val("autoPopulate").trigger('blur');
或者您可以在更新值后调用表单上的 .valid()
方法
$("#inputField1").val("autoPopulate");
$('form').valid();
关于javascript - 如果我在 mvc 中通过 jquery 填充字段,则显示必需的验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37782790/