tp5中验证的使用
ThinkPHP  /  管理员 发布于 7年前   1218
官方手册分两独立验证,验证器进行验证;
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(); } }
效果:
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号