如果我在mvc中通过jquery填充字段,则显示必需的验证错误

时间:2016-06-13 06:06:05

标签: javascript jquery html asp.net-mvc forms

我有一个带输入元素的表单。表格中有四个要素是必需的。当我在没有选择的情况下提交表格时,会出现所需的错误,这是好的。我通过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"
}
}

现在问题出在自动填充后,仍然会出现所需的错误。另一方面,如果我手动输入文本框,则所需的错误消失。 有什么问题?

1 个答案:

答案 0 :(得分:3)

默认情况下,客户端验证(jquery.validate.js)由blur()事件(或.keyup())触发,只是使用jquery更新控件的值不会触发任何事件。

您可以专门触发事件,例如

$("#inputField1").val("autoPopulate").trigger('blur');

或者您可以在更新值

后调用表单上的.valid()方法
$("#inputField1").val("autoPopulate");
$('form').valid();