我有以下JS
jQuery(document).ready(function() {
jQuery("#form").validate({
onfocusout: false,
onkeyup: false,
errorPlacement: function (error, element) {
jQuery(element).tooltipster(tooltipster_config);
jQuery(element).tooltipster('content', jQuery(error).text());
jQuery(element).tooltipster('show');
},
success: function (label, element) {
jQuery(element).tooltipster('hide');
},
rules: {
'user': {
required: true,
remote: {
url: URL,
type: "get",
async: "false",
data: {
user: function () {
return jQuery("input[name=user]").val();
}
}
}
},
},
messages: {
'user': {
required: 'Enter user ID',
remote: 'No User exists'
}
}
});
jQuery("button[id=submit]").click(function (e) {
e.preventDefault();
if (jQuery("#form").valid()) {
jQuery("form").submit();
}
});
});
在上面的JS中,我正在尝试验证名为“用户”的表单字段。如果我根据定义的规则输入了错误的用户ID,则会显示“没有用户存在'”。但是,当我将用户ID更正为有效的用户ID时,在第一次点击提交时,我仍然会得到“没有用户存在”#39;错误,但点击提交第二次它工作正常。
我也试过' on'功能而不是点击'但错误仍然存在。请让我知道我哪里弄错了。
答案 0 :(得分:1)
尝试这样的事情:
$("#form").validate({
rules:
{
user:
{
required: true,
// Remote call
remote: {
url: 'process.php', // On the basis of some condition this return either "true" or "false"
type: 'post',
data: {
user: function() {
return $( "#user" ).val();
}
}
}
}
}
messages:
{
user :
{
required: 'Enter user ID',
remote: 'No User exists'
}
}
});