Mura 6和jquery验证1.13.1 - 提交无效表单

时间:2015-03-16 20:04:11

标签: jquery-validate coldfusion-10 mura

我使用的是jquery 1.8.3和jquery验证插件1.13.1,它是最新的验证版本。我的表格看起来像这样,

<form method="post" class="contact-form" id="frmB5B976FFD59E885191DA4D572F6F773A" action="?nocache=1#frmB5B976FFD59E885191DA4D572F6F773A" novalidate="novalidate"><input type="hidden" value="true" name="useProtect">
  <input type="hidden" value="0" class="cffp_mm" name="formfield1234567891" id="fp6939F8D3-F46A-C008-37330D6AA1B0BED2">
  <input type="hidden" value="" class="cffp_kp" name="formfield1234567892" id="fp6939F8D4-FE37-FF6D-AD27DC356205A886">
  <input type="hidden" value="39890522,19894825" name="formfield1234567893" id="fp6939F8D6-F82F-92B8-A4B0BA6A966190FA">
  <label style="display:none">Leave this field empty <input type="text" value="" name="formfield1234567894" id="fp6939F8D7-AB86-5202-464CA191E50CE678"></label>
  <p class="column one-half"><input type="text" required="" placeholder="Please Enter First Name" name="fname" id="fname" aria-required="true"></p>
  <p class="column one-half last"><input type="text" required="" placeholder="Please Enter Last Name" name="lname" aria-required="true"></p>
  <p class="column one-half"><input type="email" required="" placeholder="Please Enter Email" name="email" aria-required="true"></p>
  <p class="column one-half last"><input type="text" required="" placeholder="Please Enter Phone Number" name="tel" aria-required="true"></p>
  <p class="clear"><textarea rows="3" required="" placeholder="Please Enter Message" name="comment" cols="5" aria-required="true"></textarea></p>
  <p><input type="submit" id="submitme" value="Submit" name="submitme"></p>
</form>

我的验证看起来像这样 -

 var ruleSet = {required: true};
 jQuery( "#frmB5B976FFD59E885191DA4D572F6F773A" ).validate({
  rules:{
        fname: ruleSet,
        lname: ruleSet,
        email: { required: true, email: true },
        phone: { required: true, phoneUS: true },
        message: { required: true }
  }
});

表单位于mura admin的表单部分。我使用表单编辑器创建了它。我无法理解为什么即使存在无效字段也会提交表单,可能是因为验证插件关闭了HTML5验证,而Mura只是提交表单,无论表单是有效还是无效!但是,如果验证失败,为什么验证插件不会preventdefault()? 此外,我尝试使用JSFiddle进行验证,它在那里工作。请帮帮我。谢谢。 仅供参考。上面的表单html是来自“页面源”的表单,而不是表单编辑器中的实际表单。这就是为什么所有奇怪的form idcffp_mm等等。

1 个答案:

答案 0 :(得分:0)

对于那些来这里寻找同样问题的人。我将novalidate="novalidate" onsubmit="return true;添加到form标记,然后就可以了。 Mura覆盖了jquery验证,即使jQuery Validation插件将novalidate属性放在form标签中,所以我不得不在那里手动添加novalidate。我希望这会有所帮助。