我正在使用JQuery Validation,但我需要以某种方式重新验证字段。我有一个具有远程方面的文本字段,并且工作正常。但是,它上面有一个可能会改变的选择框。我只是想在选择框的值发生变化时再次进行验证。那可能吗?
$('#input').validate(
{
rules: {
dbname: {
required: true,
minlength: 1,
onKeyUp: false,
remote: {
type:"post",
url:'createdb/checkdbname',
data: {
catserver: function(){
return $("#catserver").val();
},
prepend: function(){
return $("#prepend").text();
}
}
}
},
dataname: {
required: true
},
clientsel: {
required: true
}
},
messages: {
dbname: {
remote: "Database Already Exists on Server"
}
},
基本上,选择框catserver和dbname有点依赖于彼此。我不确定我是否正确处理了这个问题。如果重要的话,我使用bootstrap作为带有codeigniter的表单。基本上发生的事情是在我验证罚款并且有人更改catserver的选择值之后,dbname的验证不会再次发生,除非我更改dbname字段的值。
答案 0 :(得分:1)
当然,您可以将更改事件绑定到应该触发验证的元素:
$('.my-select-box').on('change', validate);
function validate() {
$('#input').validate(
{
rules: {
dbname: {
required: true,
minlength: 1,
onKeyUp: false,
remote: {
type:"post",
url:'createdb/checkdbname',
data: {
catserver: function(){
return $("#catserver").val();
},
prepend: function(){
return $("#prepend").text();
}
}
}
},
dataname: {
required: true
},
clientsel: {
required: true
}
},
messages: {
dbname: {
remote: "Database Already Exists on Server"
}
},
// .......
}