tp5中验证的使用
TP(3/5)  /  管理员 发布于 4年前   746
官方手册分两独立验证,验证器进行验证;
1.独立验证
前台提交就不说了,直接贴控制器代码 $data = input('post.'); //验证 $validate = new Validate([ 'realname|真实姓名' => 'require|max:20', 'sex|性别' => 'in:男,女', 'cphone|常用手机' => 'require|regex:/^1[3458][0-9]{9}$/', 'bphone|备用手机' => 'require|regex:/^1[3458][0-9]{9}$/', 'qq'=>'require|number|max:11', 'email' => 'require|email', 'sfznum|身份证号' => ['require','regex'=>'/^(\d{18,18}|\d{15,15}|\d{17,17}x)$/'], 'birthday|出生日期' => 'require|date', 'sheng|省份' => 'require', 'shi|市/县' => 'require', 'qu|区' => 'require', 'address|具体位置' => 'require', 'yaoqin|邀请人' => 'regex:/^1[3458][0-9]{9}$/' ]); if (!$validate->check($data)) { dump($validate->getError()); }
效果图:
2.验证器验证 (下班咯 下次在补[2018-02-07补上])
验证器目录在应用根目录 文件名validate 验证器代码 namespace app\index\validate; use think\Validate; class Teacher extends Validate { protected $rule = [ 'name' => 'require|min:6|max:20', 'password|密码' => 'require|alphaDash|length:6,32', ]; protected $message = [ 'name.require' => '请输入用户名', 'name.min' => '用户名最少6位', 'name.max' => '用户名最大20位', 'password.require' => '请输入密码', 'password.length' => '密码长度必须是6~32位', ]; protected $scene = [ 'login' => ['name','password'], ]; } 控制器调用 public function login() { if ($_POST) { $data['name'] = trim(input('name')); $data['password'] = input('password'); $result = $this->validate($data,'Teacher.login'); if(true !== $result){ // 验证失败 输出错误信息 //dump($result); $arr = array('error' => 0,'info' => $result); echo json_encode($arr);exit; } }else { return view(); } }
效果:
博主 在
hyperf框架常用命令-在centos7中退出命令及在docker容器中退出命令中评论 @路过的靓仔:cdn静态资源被墙,已修复..GGGGGGGGG 在
layui框架常用输入框介绍中评论 写的很好解决问题..路过的靓仔 在
hyperf框架常用命令-在centos7中退出命令及在docker容器中退出命令中评论 剩下好多 wait 状态的..激光豆芽 在
为什么你不能安逸?国内996为什么没有国外955香?中评论 国内现在无意义的内卷太多了..激光豆芽 在
阿里云香港服务器搭建自用vpn:Shadowsocks使用流程步骤中评论 厉害了..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号