验证
验证器
每个验证需要一个继承自think\Validate的验证类,类里面的$rule代表了验证的规则
<?phpnamespace app\validate;use think\Validate;class User extends Validate{//当前验证的规则 ???protected $rule=[ ???????'name|姓名'=>[ ?//姓名是name的别名,用于输出错误信息 ???????????'require', ?//必填 ???????????'max'=>20, ?//最大长度 ???????????'min'=>5, ??//最小长度 ???????], ???????'email'=>[ ???????????'require', ???????????'email'=>'email',//必须是email格式 ???????], ???????'password'=>[ ???????????'require', ???????????'max'=>20, ???????????'min'=>8, ???????????'alphaNum'//必须是字母或数字 ???????] ???];}进行测试
<?phpnamespace app\index\controller;use app\facade\Validatefacade;use app\validate\User;use think\Controller;class Validatetest extends Controller{ ???//验证器,是个类Validate, ???public function test1() ???{ ???????//要验证的数据 ???????$data = [ ??????????'name' => 'xiaxuu', ???????????'email' => '2112343@qq.com', ???????????'password' => 'fdsfsafd' ???????]; ???????//验证器是个类 ???????$validate = new User;//实例化验证类 ???????if (!$validate->check($data)) {//检验验证 ???????????return $validate->getError();//如果姓名为空就输出’姓名不能为空‘ ???????} ???????return '验证成功'; ???}}独立验证
//独立验证 使用think\validate里的rule方法,就是对$rule的初始化,使用内置的Validate的静态代理 ???public function test4(){ ???????$rule=[ ???????????'name|姓名'=>[ ?//姓名是name的别名,用于输出错误信息 ???????????????'require', ?//必填 ???????????????'max'=>20, ?//最大长度 ???????????????'min'=>5, ??//最小长度 ???????????], ???????????'email'=>[ ???????????????'require', ???????????????'email'=>'email',//必须是email格式 ???????????], ???????????'password'=>[ ???????????????'require', ???????????????'max'=>20, ???????????????'min'=>8, ???????????????'alphaNum'//必须是字母或数字 ???????????] ???????]; ???????$data = [ ???????????'name' => 'xiaxuu', ???????????'email' => '2112343@qq.com', ???????????'password' => 'fdsfsafd' ???????]; ???????Validate::rule($rule);//添加了验证规则 ???????if(!Validate::check($data)){ ???????????return Validate::getError(); ???????} ???????return '验证通过'; ???}thinkphp5.1验证
原文地址:https://www.cnblogs.com/webdev8888/p/8973763.html