
对于上述表单,你一般会如何进行验证呢?
要求:两个字段不能为空,都唯一。
我采取了jquery validation(插件)与THINK PHP的自动验证混合方式来验证。
不过还有一个疑问,thinkphp可否将所有的错误信息一并输出呀?
(1)jquery validation
//公司信息验证
$(function () {
$.validator.addMethod(
"uniquedata",
function (value, element, param) {
var errstr="";
$.ajax({
url: "/index.php/home/company/validate",
type:"POST",
async:false,
data:$("#companyedit").serialize(),
success:function(data){
$("#ajax").html(data);
errstr=data;
}
});
return (errstr!==param);
},
'编号已经存在!'
);
$("#companyedit").validate({
debug: true,
rules: {
companycode: {
uniquedata: "err_1",
required: true
},
companyname: {
uniquedata: "err_2",
required: true
}
},
messages: {
companycode: {
required: '请输入公司代码'
},
companyname: {
required: '请输入公司名称'
}
}
});
});(2)thinkphp进行字段唯一的验证public function validate() {
$Company = M("company");
$rules = array(
array('companycode', '', 'err_1', 0, 'unique', 3),
array('companyname', '', 'err_2', 0, 'unique', 3),
);
// return $Company->validate($rules)->create();
if ($Company->validate($rules)->create()) {
echo "passed";
} else {
echo($Company->getError());
}
}验证效果图:
最佳答案