【发布时间】:2013-04-19 06:52:19
【问题描述】:
我正在关注this 文章以验证我的表单
我的问题是当我必须使用 remote 方法时,例如remote: "check-username.php"
由于远程方法的documentation 对我来说不是很清楚,我会知道:
我需要如何在 php 脚本中构造我的 json 输出?
【问题讨论】:
标签: javascript jquery ajax validation jquery-validate
我正在关注this 文章以验证我的表单
我的问题是当我必须使用 remote 方法时,例如remote: "check-username.php"
由于远程方法的documentation 对我来说不是很清楚,我会知道:
我需要如何在 php 脚本中构造我的 json 输出?
【问题讨论】:
标签: javascript jquery ajax validation jquery-validate
要使用remote 的默认方法,远程页面必须以字符串值"true" 或"false" 进行响应。
有效(成功)必须是:
echo "true";
无效(失败):
echo "false"; // this can be any false. eg: 0 , "" , NULL.
响应将被评估为 JSON。
要应用错误消息,而不是默认的远程响应无效(“false”),将输入名称添加到验证器选项messages 对象,如下所示。
rules:{
username:{
remote: "check-username.php"
}
},
messages:{
username:{
remote: jQuery.format('{0} is already in use, please choose a different name')
}
}
【讨论】:
您不需要 JSON。你可以放任何文字。例如你可以
echo "success";
验证通过,输入验证信息如下:
echo "Username already exists.";
验证失败。
在你的回调中做这样的事情:
remote: {
url: "check-username.php" ,
type: "post" ,
data: {
username: function() {
return $("#username").val();
},
complete: function(data){
if( data.responseText != "success" ) {
alert(data.responseText);
//handle failed validation
}
}
}
【讨论】: