【问题标题】:jQuery Validation form is not Validating and submittingjQuery 验证表单未验证和提交
【发布时间】:2015-04-26 15:07:21
【问题描述】:

我已经正确设置了所有规则,但是当我提交表单时它们似乎被完全忽略了。

这是我的代码:

$(document).ready(function() {

  $('#formValidation').validate({
    rules: {
      name: {
        required: true,
        minlength: 2,
        lettersonly: true,
      },
      email: {
        required: true,
        minlength: 5,
        email: true,
      },
      feedback: {
        required: true,
        minWords: 5,
      },
    }
    messages: {
      name: {
        required: "Please enter your name",
      },
    },
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://jqueryvalidation.org/files/dist/jquery.validate.js"></script>
<form id="formValidation" onload="validate()">
  <p>Name: <br/><input type="text" name="name" /> </p>
  <p>Email:<br/><input type="email" name="email" /></p>
  <p>Feedback:<br/><input type="text" name="feedback" id="textfield" />
    <input type="submit" id="submit" onsubmit="return formValidation()" /> </p>
</form>

【问题讨论】:

  • 提交输入元素中不需要onsubmit事件,表单元素中不需要onload。
  • 另外,听起来可能很奇怪,但是您是否正在加载 jquery validate 插件?
  • 我正在加载插件。我听从了 LShetty 的建议,得到了同样的结果。它似乎忽略了所有内容并提交了表单

标签: javascript jquery forms validation form-submit


【解决方案1】:

所以,您只需要以下内容。

$(document).ready(function () {

    $('#formValidation').validate({ 
        rules: {
            name: {
                required: true,
                minlength: 2,
                lettersonly:true,
            },
            email: {
                required: true,
                minlength: 5,
                email:true,
            },
            feedback: {
                required: true,
                minWords: 5,
            }
        },
        messages: {
            name:{
                required:"Please enter your name",
            }
        }
    });  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://jqueryvalidation.org/files/dist/jquery.validate.js"></script>
<form id="formValidation" method="post">
    <p>Name: <br/><input type="text" name="name" /> </p>
    <p>Email:<br/><input type="email" name="email" /></p>
    <p>Feedback:<br/><input type="text" name="feedback" id="textfield"/>
    <input type="submit" id="submit"/> </p>
</form>
  • 从您的脚本中删除了不必要的/额外的,s。
  • 删除内联事件处理程序

【讨论】:

  • 嘿 LShetty,感谢您的回复,我按照您的反馈进行了相应的操作,运行时结果是一样的。但是,当我在 Stackoverflow 上运行代码 sn-p 时它可以工作
  • 我猜你的验证脚本链接不起作用,或者你在拦截这些事件的表单的提交事件中附加了其他东西。
猜你喜欢
  • 1970-01-01
  • 2021-09-08
  • 2018-06-12
  • 1970-01-01
  • 2012-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多