下面thinkphp框架教程栏目将给大家讲解thinkphp5.1实现邮箱验证问题,希望对需要的朋友有所帮助!
具体问题:
比如我想验证这个email是否合法 我想用TP的自带的验证规则 应该怎样验证呢?我看手册上要定义个User类我们定义一个appindexvalidateUser验证器类用于User的验证。 TP框架验证邮箱用户名什么的要这么麻烦吗?这个验证器类要写在哪里呢?跟控制器同级目录下吗?
<?php namespace appindexcontroller; use thinkController; use thinkfacadeRequest; use thinkresponse; use thinkView; use thinkValidate; class Register extends Controller { public function regcheck(){ $data=input('email'); } } ?>
解决办法:
要单个验证,可以静态调用的哦
立即学习“PHP免费学习笔记(深入)”;
// 验证是否有效邮箱地址 use thinkfacadeValidate; Validate::isEmail('thinkphp@qq.com'); // true
如果验证的东西比较多,建议还是推荐使用验证器
验证器类可以自定义目录,建议放在 appindexvalidate目录下。
验证器类
namespace appindexvalidate; use thinkValidate; class User extends Validate { protected $rule = [ 'name' => 'require|max:25', 'email' => 'email', ]; protected $message = [ 'name.require' => '名称必须', 'name.max' => '名称最多不能超过25个字符', 'email' => '邮箱格式错误', ]; }
在控制器里使用:
namespace appindexcontroller; use thinkController; class Index extends Controller { public function index() { $data = [ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com', ]; $validate = new appindexvalidateUser; if (!$validate->check($data)) { dump($validate->getError()); } } }
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END