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

广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买

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

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

具体问题:

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

<?phpnamespace app\index\controller;use think\Controller;use think\facade\Request;use think\response;use think\View;use think\Validate;class Register extends Controller{    public function regcheck(){        $data=input('email');            }}?>
登录后复制

解决办法:

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

// 验证是否有效邮箱地址use think\facade\Validate;Validate::isEmail('thinkphp@qq.com'); // true
登录后复制

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

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

验证器类

namespace app\index\validate;use think\Validate;class User extends Validate{    protected $rule =   [        'name'  => 'require|max:25',        'email' => 'email',        ];        protected $message  =   [        'name.require' => '名称必须',        'name.max'     => '名称最多不能超过25个字符',        'email'        => '邮箱格式错误',        ];    }
登录后复制

在控制器里使用:

namespace app\index\controller;use think\Controller;class Index extends Controller{    public function index()    {        $data = [            'name'  => 'thinkphp',            'email' => 'thinkphp@qq.com',        ];        $validate = new \app\index\validate\User;        if (!$validate->check($data)) {            dump($validate->getError());        }    }}
登录后复制

以上就是说说Thinkphp5.1实现邮箱验证问题的详细内容,更多请关注9543建站博客其它相关文章!

广告:SSL证书一年128.66元起,点击购买~~~

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。
作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:探究Swoole中协程的运行机制
下一篇:聊聊怎么在docker上部署运行workerman

发表评论

关闭广告
关闭广告