我正在使用 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 id
等等cffp_mm
。