正确的观点。有这种形式:
<form action="/Home/AskQuestion" method="post" id="question">
<div class="name">
<label>Name</label><br>
<input type="text" class="name required">
</div>
<div class="email">
<label>Email</label><br>
<input type="text" class="email required">
</div>
<div class="subject clearleft"><label>Subject</label><br> <select name="GroupId" class="emailSubject required" id="SubmitAQuestionEmailSubject"><option value="0">Customer Service</option><option value="1">Parts Request</option><option value="2">Product Question</option><option value="3">GCRR</option></select></div>
<div class="question clearleft">
<label>Question</label><br>
<textarea cols="20" rows="2" class="required"></textarea>
</div>
<input type="submit" class="submit">
</form>
和这段代码:
$(document).ready(function(){ $("form").validate(); });
谷歌搜索“jquery.validate示例”让我回到了像这样的“工作”样本的各种点击,如果任何class =“required”字段为空,这将阻止表单提交。 jquery验证页面上的示例适用于我。
当我将“必需”输入留空时,我的表单仍会提交。我到底做错了什么?
编辑:以某种方式丢失了本帖子中最初的一些信息......
我包括jquery(1.6.1)和jquery验证(文件头中的1.6)脚本文件。在jquery.validation之前包含Jquery。我已经用firebug验证了脚本是否被找到,而且我无法在firebug或Firefox错误控制台中看到任何错误。
EDIT2:
有趣的是,使用此代码替换$(“form”)。validate()似乎触发了验证,但同样,只验证了表单(name)中的第一个输入...
$(".submit").click(function (evt) {
if ($("form#question").validate().form()) {
alert("valid");
}
});
答案 0 :(得分:1)
您是否已加入jQuery Validation plugin?
既然你说你已经包含了jQuery验证插件。那么,我唯一可以建议的是试试这个:
$(document).ready(function(){ $("#question").validate(); });
您应该在输入中添加minlength
和maxlength
属性。验证不像魔术那样有效。它应该从某个地方获取要验证的属性。因此,例如,为minlength="2"
输入元素添加Name
。
答案 1 :(得分:0)
您是否同时加载了jQuery和validate插件脚本?
如果你想要懒惰:
<script type="text/javascript" src="jquery-latest.min.js"></script>
<script type="text/javascript" src="jquery.validate.min.js"></script>
<强>更新强>
每个input
值都需要与其关联的name=""
。否则验证将无效。
答案 2 :(得分:0)