我有一些使用chosen plugin的<select>输入,我想在客户端将它们验证为“必需的”。由于“select”隐藏了实际的select元素,并创建了一个带有div和span的小部件,因此原生HTML5验证似乎无法正常工作。表单不会提交(这很好),但错误消息没有显示,所以用户不知道哪里出了问题(这不好)。
我已经求助于jQuery验证插件(我计划最终使用它),但到目前为止还没有任何进展。这是我的test case
<form>
<label>Name: <input name="test1" required></label>
<label>Favorite Color:
<select name="test2" required>
<option value=""></option>
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
</select>
</label>
<input type="submit">
</form>$(document).ready(function(){
$('select').chosen();
$('form').validate();
});这是让select使用空值通过,而不验证或显示错误消息。当我注释掉chosen()行时,它工作得很好。
如何使用jQuery验证插件验证chosen()输入,并显示无效输入的错误消息?
发布于 2014-08-04 17:55:19
您还可以尝试执行以下操作:
$('form').on('submit', function(event) {
event.preventDefault();
if($('form').valid() == true && $('.select-chosen').valid() == true){
console.log("Valid form");
} else {
console.log("Invalid form");
}
}); 记住在每个select上添加.select-chosen类。
$('.select-chosen').valid()强制对隐藏的select进行验证
http://jsfiddle.net/mrZF5/39/
https://stackoverflow.com/questions/11232310
复制相似问题