tp6 验证 validate 用法

网友投稿 1567 2022-10-29

tp6 验证 validate 用法

tp6 验证 validate 用法

例子:给后端用户定义一个专属的验证类 User

1.定义规则和提示文字   User.php代码

'require|chsAlphaNum|length:6,30', 'password' => 'require|length:6,30', 'verifyCode' => 'require|length:4', 'email' => 'email', 'tel' => 'mobile|number|length:11', ]; protected $message = [ 'username.require' => '用户名必须填写', 'username.chsAlphaNum' => '用户名长度范围6-30个字符', 'username.length' => '用户名只能是汉字、字母和数字', 'password.require' => '密码必须填写', 'password.length' => '密码必须6-30个字符', 'verifyCode.require' => '验证码必须填写', 'verifyCode.length' => '验证码必须5位', 'tel.mobile' => '填写有效的手机', 'tel.number' => '手机只能数字', 'tel.length' => '手机只能11位数字', 'email' => '邮箱格式错误', ]; }

2.控制器引用

要引用

use app\admin\validate\User; use think\exception\ValidateException;

2.1 使用方法一

$postjson=input('post.data/s');//接收所有数据 格式json try { if(empty($postjson)){ throw new \Exception("数组为空!"); } $postArr=json_decode($postjson, true);//把接收所有数据转为数组 //验证表单 validate(ManageValidate::class)->check($postArr); } catch (ValidateException $e) { return ['code'=>-200,'msg'=>$e->getError()]; } catch (\Exception $e) { // 这是进行异常捕获 return ['code'=>-200,'msg'=>$e->getMessage()]; }

2.2  使用方法二

check([ 'username' => $username, 'password' => $password, 'verifyCode' => $verifyCode, ]); if (request()->isAjax()){ $rs = Db::name('admin') ->field('username,password,realname,nickname,img,tel,email,department_id,department_id2,role_id,group_id,code_md5,enterprise_id') ->where($where) ->find(); }else{ throw new \Exception("非法提交"); } $code=200;$msg='成功'; } catch (ValidateException $e) { return ['code'=>-200,'msg'=>$e->getError()]; } catch (\Exception $e) { // 这是进行异常捕获 return ['code'=>-200,'msg'=>$e->getMessage()]; } return json(['code' => $code,'msg' =>$msg]); } }

其它例子:

官方文档:​​验证器 · ThinkPHP6.0完全开发手册 · 看云​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Mirror 是一款基于 React,Redux 和 react-router 的前端框架
下一篇:PocketFlow - 腾讯开源的模型压缩自动化(AutoMC)框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~