我在验证插件时遇到问题,无法识别所有输入标签和文本区域是否需要。它正在验证电子邮件字段,但没有其他人。
$(document).ready(function() {
$('#contactForm').validate({
rules: {
name: {
required: true,
minlength: 1
},
email: {
required: true,
email: true
},
subject: {
required: true,
minlength: 1
},
message: {
required: true,
minlength: 1
}
}
});
});
这是我试图验证的页面的HTML
<form id="contactForm" action="./gdform.php" method="post">
<div id="formSection">
<input type="hidden" name="redirect" value="./thankyou.html" />
<div id="topSection">
<label><input type="text" id="Name" name="name" value="Name" required /></label>
<label><input type="text" id="Email" name="email" value="Email" required /></label>
</div>
<div id="messageSection">
<label><input id="Subject" type="text" name="subject" value="Subject" /></label>
<label><textarea name="message" rows="6" required>Message</textarea></label>
<button type="submit">Send</button>
</div>
</div>
</form>
这是一个小提琴,所以你可以看到我的问题http://jsfiddle.net/mM62X/。 任何有关此问题的帮助将不胜感激!
答案 0 :(得分:0)
问题是,您要添加默认值所有输入元素而不是使用占位符。由于输入元素中有一个值,因此所需的验证将通过,因此没有验证错误。
<form id="contactForm" action="./gdform.php" method="post">
<div id="formSection">
<input type="hidden" name="redirect" value="./thankyou.html" />
<div id="topSection">
<label>
<input type="text" id="Name" name="name" placeholder="Name" required />
</label>
<label>
<input type="text" id="Email" name="email" placeholder="Email" required />
</label>
</div>
<div id="messageSection">
<label>
<input id="Subject" type="text" name="subject" placeholder="Subject" />
</label>
<label>
<textarea name="message" rows="6" required placeholder="Message"></textarea>
</label>
<button type="submit">Send</button>
</div>
</div>
</form>
演示:Fiddle
注意:不支持&lt; IE 10