我正在尝试使用规则/消息集进行jquery验证,但似乎无法使其正常工作。对JQuery不熟悉,如果这是一个基本问题,请道歉。我正在尝试使用document.forms [0]而不是表单ID。它适用于简单验证,其中字段具有class =“required”但如果我尝试引入规则则不行。任何帮助非常感谢。这是代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://jzaefferer.github.com/jquery- validation/jquery.validate.js"></script>
<script>
$(document).ready(function(){
$(document.forms[0]).validate({
rules: {
cname: {
required: true,
}
},
messages: {
cname: "Please enter a valid Name."
},
});
});
</script>
</head>
<body>
<form class="cmxform" id="commentForm" method="get" action="">
<fieldset>
<legend>A simple comment form with submit validation and default messages</legend>
<p>
<label for="cname">Name</label>
<em>*</em><input id="cname" name="name"/>
</p>
<p>
<input class="submit" type="submit" value="Submit"/>
</p>
</fieldset>
</form>
</body>
</html>
答案 0 :(得分:2)
我想我会回答这个问题,因为我的评论是正确的。
尝试将name
属性也设为“cname”。验证器查找name
属性。
答案 1 :(得分:2)
首先,您可以通过id
,#commentForm
定位表单。其次,问题的根本原因是您通过input
属性未正确定位id
字段。但是,.validate()
插件正在查找name
属性,在您的情况下,该属性也恰好是"name"
。我在下面的示例中更改了name
属性的值,只是为了使其更清晰。
<强> jQuery的:强>
$(document).ready(function(){
$('#commentForm').validate({
rules: {
username: {
required: true
}
},
messages: {
username: "Please enter a valid Name."
}
});
});
<强> HTML:强>
<form class="cmxform" id="commentForm" method="get" action="">
<input type="text" id="cname" name="username" />
....
<强> Working DEMO: 强>