我正在使用jquery.validate插件来检查用户名可用性
如果用户输入sample
我需要将错误显示为
sample is available
或sample is not available
$("#form_id").validate({
rules: {
username: {
required: true
}
},
messages:{
username: {
required: "username should not be blank",
remote: $('#username_id').val()+"is already available"
}
}
});
远程错误显示
is not available
我希望
sample is not available
更新 我试过这个
remote: jQuery.format("{0} is already available")
一旦我点击提交按钮错误显示为sample is not available
,如果我再次点击提交,则会再次出现错误
server_pg.php is not available
我不知道为什么jquery.validate会像这样行为不端......
答案 0 :(得分:4)
我的定义中没有看到任何remote
规则。尝试:
$("#form_id").validate({
rules: {
username: {
required: true,
remote: 'test.cgi'
}
},
messages:{
username: {
required: 'username should not be blank',
remote: $.format('{0} is already available')
}
}
});
还要确保服务器端脚本返回带有true
或false
值的JSON内容类型。最后确保用户输入的内容符合消息中指定的id="username_id"
。
答案 1 :(得分:2)
如果你只是从消息中删除它:
remote: $('#username_id').val()+"is already available"
然后任何但 true
都将显示为消息,因此只需让您的服务器完全:
"nameChecked is already avaialable"
仅返回此(或任何消息),包含引号并显示该字符串。这也可以确保您获得所检查的内容,而不是当前值。