上篇说了jQuery validation插件的使用,我们平时经常会有这种需求,就是在注册的时候,我们需要异步判断该属性是否已被占用,比如邮箱是否已经被注册?
jQuery validation中remote属性便可以用来完成此功能:
rules: {
new_stuID: {
required: true,
digits: true,
maxlength: 7,
minlength: 7,
remote:{
url: 'check.php',
type:'post',
data:{
new_stuID:function(){
return $("#new_stuID").val();
}
}
}
}
},
messages: {
new_stuID: {
required: '学号不能为空',
digits: '学号必须是数字',
maxlength: '学号必须为7位',
minlength: '学号必须为7位',
remote:'学号已被注册'
}
},
上面代码中rules属性中使用了remote属性进行验证,并且在messages中规定了remote错误情况的错误信息内容:
remote:{
url: 'check.php', //填写用于进行验证的文件位置
type:'post', //传输方式
data:{ //传输的数据
new_stuID:function(){
return $("#new_stuID").val();
}
}
}
我这里只是简单的进行了一下可行性验证:
check.php:
<?php
$new_stuID = $_POST['new_stuID'];
//我试着返回布尔型的true和false但是均不成功,string型的就可以
if($new_stuID == '1234567'){
echo 'false';
}
else{
echo 'true';
}
?>
remote接受服务器返回的数据进行数据合法性验证,并进行相关正确和错误样式的显示,与其它属性无异。
参考视频:youtube, 需要*墙