说说Thinkphp5.1实现邮箱验证问题

 3522

下面给大家讲解Thinkphp5.1实现邮箱验证问题,希望对需要的朋友有所帮助!

具体问题:

比如我想验证这个email是否合法 我想用TP的自带的验证规则 应该怎样验证呢?我看手册上要定义个User类我们定义一个\app\index\validate\User验证器类用于User的验证。 TP框架验证邮箱用户名什么的要这么麻烦吗?这个验证器类要写在哪里呢?跟控制器同级目录下吗?

  1. <?php
  2. namespace app\index\controller;
  3. use think\Controller;
  4. use think\facade\Request;
  5. use think\response;
  6. use think\View;
  7. use think\Validate;
  8.  
  9. class Register extends Controller
  10. {
  11.     public function regcheck(){
  12.         $data=input('email');
  13.          
  14.     }
  15. }
  16. ?>

解决办法:

要单个验证,可以静态调用的哦

  1. // 验证是否有效邮箱地址
  2. use think\facade\Validate;
  3. Validate::isEmail('thinkphp@qq.com'); // true

如果验证的东西比较多,建议还是推荐使用验证器

验证器类可以自定义目录,建议放在 \app\index\validate目录下。


验证器类

  1. namespace app\index\validate;
  2. use think\Validate;
  3. class User extends Validate
  4. {
  5.     protected $rule =   [
  6.         'name'  => 'require|max:25',
  7.         'email' => 'email',    
  8.     ];
  9.      
  10.     protected $message  =   [
  11.         'name.require' => '名称必须',
  12.         'name.max'     => '名称最多不能超过25个字符',
  13.         'email'        => '邮箱格式错误',    
  14.     ];
  15.      
  16. }


在控制器里使用:

  1. namespace app\index\controller;
  2. use think\Controller;
  3. class Index extends Controller
  4. {
  5.     public function index()
  6.     {
  7.         $data = [
  8.             'name'  => 'thinkphp',
  9.             'email' => 'thinkphp@qq.com',
  10.         ];
  11.         $validate = new \app\index\validate\User;
  12.         if (!$validate->check($data)) {
  13.             dump($validate->getError());
  14.         }
  15.     }
  16. }



本文网址:https://www.zztuku.com/index.php/detail-10036.html
站长图库 - 说说Thinkphp5.1实现邮箱验证问题
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐