bootstrap-combobox(丹尼尔·法雷尔)和 jquery-validation-plugin
bootstrap-combobox (by Daniel Farrel) and jquery-validaiton-plugin
有没有人让 jquery.validate 插件与 Daniel Farrel 创建的 bootstrap-combobox 一起工作?
jquery.validate 插件与剩余的 bootstrap 元素配合得很好,但无法与 bootstrap-combobox 配合使用。
这是 html :
<div class="row">
<div class="col-sm-4">
<label for="categoryParent" class="control-label">Category</label>
</div>
<div class="col-sm-8">
<select id="categoryParent" name="categoryParent" class="combobox form-control">
<option value="" selected="selected">Select the category</option>
<option>...</option>
</select>
</div>
</div>
和 js :
$.validator.setDefaults({
highlight: function(element) {
$(element).closest('.row').addClass('has-error');
},
unhighlight: function(element) {
$(element).closest('.row').removeClass('has-error');
},
errorElement: 'span',
errorClass: 'help-block',
errorPlacement: function(error, element) {
error.insertAfter(element);
}
});
$("#addProductForm").validate({
rules: {
categoryParent: {required: true}
},
messages: {
categoryParent : "Category required"
},
invalidHandler: function() {
$("#cc-alert").css("display","block");
},
submitHandler: function() {
//
// more code
//
return false;
}
Bootstrap ComboBox 隐藏了原来的 select
并用更具视觉吸引力的内容替换了它。但是,jQuery 验证插件只能验证原始的 select
元素,但也会忽略它,因为它是隐藏的。
您只需使用 the ignore
option to tell it to validate hidden elements。
ignore: [] // ignore nothing, validate everything
在您的代码中:
$("#addProductForm").validate({
ignore: [],
rules: { ....
或:
$.validator.setDefaults({
ignore: [],
highlight: function(element) { ....
有没有人让 jquery.validate 插件与 Daniel Farrel 创建的 bootstrap-combobox 一起工作?
jquery.validate 插件与剩余的 bootstrap 元素配合得很好,但无法与 bootstrap-combobox 配合使用。
这是 html :
<div class="row">
<div class="col-sm-4">
<label for="categoryParent" class="control-label">Category</label>
</div>
<div class="col-sm-8">
<select id="categoryParent" name="categoryParent" class="combobox form-control">
<option value="" selected="selected">Select the category</option>
<option>...</option>
</select>
</div>
</div>
和 js :
$.validator.setDefaults({
highlight: function(element) {
$(element).closest('.row').addClass('has-error');
},
unhighlight: function(element) {
$(element).closest('.row').removeClass('has-error');
},
errorElement: 'span',
errorClass: 'help-block',
errorPlacement: function(error, element) {
error.insertAfter(element);
}
});
$("#addProductForm").validate({
rules: {
categoryParent: {required: true}
},
messages: {
categoryParent : "Category required"
},
invalidHandler: function() {
$("#cc-alert").css("display","block");
},
submitHandler: function() {
//
// more code
//
return false;
}
Bootstrap ComboBox 隐藏了原来的 select
并用更具视觉吸引力的内容替换了它。但是,jQuery 验证插件只能验证原始的 select
元素,但也会忽略它,因为它是隐藏的。
您只需使用 the ignore
option to tell it to validate hidden elements。
ignore: [] // ignore nothing, validate everything
在您的代码中:
$("#addProductForm").validate({
ignore: [],
rules: { ....
或:
$.validator.setDefaults({
ignore: [],
highlight: function(element) { ....