jquery验证远程错误

时间:2011-01-07 10:15:52

标签: javascript jquery jquery-validate

我正在使用jquery.validate插件来检查用户名可用性

如果用户输入sample我需要将错误显示为

sample is availablesample 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会像这样行为不端......

2 个答案:

答案 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')
        }
    }
});

还要确保服务器端脚本返回带有truefalse值的JSON内容类型。最后确保用户输入的内容符合消息中指定的id="username_id"

答案 1 :(得分:2)

如果你只是从消息中删除它:

remote: $('#username_id').val()+"is already available"

然后任何 true都将显示为消息,因此只需让您的服务器完全

"nameChecked is already avaialable"

仅返回此(或任何消息),包含引号并显示该字符串。这也可以确保您获得所检查的内容,而不是当前值。