您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
thinkphp3.2.0-自动验证
发布时间:2019-03-21 17:54:00编辑:雪饮阅读()
自动验证是结合create在表单提交数据的时候自定义模型中对提交数据的验证。实例如下:
首先是一个表单如:
用户名:
<input class="TxtUserNameCssClass" id="admin_user" maxlength="20" name="username" value="xxx"> </li></ul>
密码:
<input class="TxtPasswordCssClass" id="admin_psd" name="pass" value="xxx">
重复密码:
<input class="TxtValidateCodeCssClass" id="captcha" name="pass2" type="text" value="xxx">
QQ:
<input class="TxtPasswordCssClass" id="admin_psd" name="qq" value="123">
学历:
<select name="level">
<option value="1">小学</option>
<option value="2" selected>初中</option>
<option value="3">高中</option>
<option value="4">大专</option>
<option value="5">本科</option>
</select>
爱好:
<select name="hobby">
<option value="1">抽烟</option>
<option value="2">喝酒</option>
<option value="3">打架</option>
<option value="4">斗殴</option>
<option value="5">泡妞</option>
<option value="6">修仙问道</option>
</select>
自定义模型如:
<?php
namespace Model;
use Think\Model;
class UserModel extends Model{
protected $tableName = 'user';
//使得多个验证条件不达标时一次性输出
protected $patchValidate =true;
protected $_validate = array(
//验证规则-require
//验证用户名
array("username","require","用户名必须填写",1),
//验证密码
array("pass","require","密码必须填写",1),
//验证重复密码
array('pass2','pass','必须与密码相同',1,'confirm'),
//正则验证
array('qq',"/^\d+$/",'qq号码必须是数字',1),
//范围验证
array('level',"2,3,4,5","学历必须在范围'初中、高中、大专、本科'范围内",1,'in'),
//利用回调函数验证
array('hobby','check_hobby',"爱好的价值观必须正确",1,'callback')
);
function check_hobby($hobby){
if($hobby!=6){return false;}
return true;
}
}
模型的验证如:
$users=new \Model\UserModel();
$z=$users->create();
if(!$z){
xyp($users->getError());
exit();
}
else{
echo "success";
}
关键字词:thinkphp3.2.0,自动验证
下一篇:Git管理远程仓库