Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未使用jQuery验证提交表单_Javascript_Jquery_Forms_Asp.net Mvc 3_Jquery Validate - Fatal编程技术网

Javascript 未使用jQuery验证提交表单

Javascript 未使用jQuery验证提交表单,javascript,jquery,forms,asp.net-mvc-3,jquery-validate,Javascript,Jquery,Forms,Asp.net Mvc 3,Jquery Validate,在我的.net/MVC项目中使用jQuery验证插件时,我遇到了一个小问题: 验证通常工作正常,提交时出现问题: 我希望表单中有任何验证错误时不要提交,为此我设置了debug:true 但是,当提交按钮没有响应时,将其设置为true后,即使一切正常(即没有验证错误),单击提交按钮时也不会发生任何事情。如果remove debug:true,则即使表单中存在验证错误,也会提交表单。 我想要一个解决这个问题的方法,中间路线,即: 单击“提交”时,如果有错误,则不会提交表单并显示错误 如果没有错误,那

在我的.net/MVC项目中使用jQuery验证插件时,我遇到了一个小问题: 验证通常工作正常,提交时出现问题: 我希望表单中有任何验证错误时不要提交,为此我设置了debug:true

但是,当提交按钮没有响应时,将其设置为true后,即使一切正常(即没有验证错误),单击提交按钮时也不会发生任何事情。如果remove debug:true,则即使表单中存在验证错误,也会提交表单。 我想要一个解决这个问题的方法,中间路线,即: 单击“提交”时,如果有错误,则不会提交表单并显示错误 如果没有错误,那么它只是简单地提交它

请帮忙。。谢谢大家!

    <script type="text/javascript">
      $(document).ready(function() {
$("#productSubmit").validate( {
  debug : true, rules : {
     prdctttle : {
        maxlength : 50, 
        required : true, 
        onlyChars : true }
     , prdctdscrptn : {
        maxlength : 250, 
        required : true, 
        onlyChars : true }
    }
  , messages : {
     }
  }
); 
}
); 
$.validator.addMethod('onlyChars', function (value) {
return /^[a-zA-Z ,-!]+$/.test(value); }, 'Please enter a valid name with only alphabets');
   $("#productSubmit").validate( {
  submitHandler : function(form) {
     if ($(form).valid()) form.submit(); return false; // prevent normal form posting
     }
  }
);
</script>

$(文档).ready(函数(){
$(“#产品提交”)。验证({
调试:true,规则:{
PRDCTTLE:{
最大长度:50,
要求:正确,
onlyChars:true}
,prdctdscrptn:{
最大长度:250,
要求:正确,
onlyChars:true}
}
,讯息:{
}
}
); 
}
); 
$.validator.addMethod('onlyChars',函数(值){
return/^[a-zA-Z,-!]+$/.test(value);},“请输入仅包含字母的有效名称”);
$(“#产品提交”)。验证({
submitHandler:函数(表单){
if($(form).valid())form.submit();return false;//防止正常表单过帐
}
}
);

在提交前更改最后一行以检查表单是否有效:

$("#productSubmit").validate({ 
    submitHandler: function(form) {  
                           if ($(form).valid()) 
                               form.submit(); 
                           return false; // prevent normal form posting
                    }
 });

编辑:我忘了添加“return false;”行以停止表单的正常提交(因此只有在验证通过时才会发生)。

GregL的答案大部分是正确的

最终让我正确工作的还有:

onsubmit: false
最终代码:

$("#productSubmit").validate({ 
 onsubmit: false,
 submitHandler: function(form) {  
   if ($(form).valid())
   {
       form.submit(); 
   }
   return false; // prevent normal form posting
 }
});

这将覆盖默认的提交行为,并在submitHandler中处理最终验证检查和提交。

我用您的代码更改了列表行,但现在整个验证脚本已停止工作。。当我在没有输入nethng的情况下单击submit时,会刷新其jst;当我在正确填写所有信息后提交时。浏览器显示“此网页不可用”error@Maven该死,我有一种可能发生的感觉。试试我的更新代码。@DGregL,仍然面临一些奇怪的行为,现在如果我尝试提交一个空表单,它会给出“此字段是必需的”的精细验证错误,但是在我填写表单并尝试提交后,提交按钮会像以前一样变得不负责任。再加上它没有像以前那样在改变它的值时重新检查验证我更新了我帖子中的代码。。万一现在里面有语法错误。。