thinkphp5.1学习过程十二——验证器与静态代理控制器验证独立验证

编程

<?php

namespace appindexcontroller;

//use appvalidateUser;

use appindexfacadeUser;

use thinkController;

class Demo9 extends Controller

{

//1、验证器:使用Validate类中的rule属性

public function test1()

{

//要验证的数据

$data=[

"name"=>"yht12345",

"email"=>"45501@qq.com",

"password"=>"123456",

"mobile"=>"15988889999"

];

//验证器是一个类

// $validate=new User();

// if(!$validate->check($data)){

// return $validate->getError();

// }

//使用当前验证器的静态代理

if(!User::check($data)){

return User::getError();

}

return "验证通过";

}

//调用控制器中的validate方法进行验证:使用用户自定义的验证器

public function test2()

{

//$this->validate($data,$validate);返回验证结果

//要验证数据

$data=[

"name"=>"yht12345",

"email"=>"45501@qq.com",

"password"=>"123456",

"mobile"=>"15988889999"

];

//验证规则

$validate="appvalidateUser";

$res=$this->validate($data,$validate);

if($res !== true){

return $res;

}

return "验证通过";

}

}

<?php

//用户信息表的字段验证器类

namespace appvalidate;

use thinkValidate;

class User extends Validate

{

//

protected $rule=[

"name|姓名"=>[

"require",

"max"=>20,

"min"=>5,

],

"email|邮件"=>[

"require",

"email",

],

"password|密码"=>[

"require",

"max"=>12,

"min"=>3,

"alphaNum",

],

"mobile|手机"=>[

"require",

"mobile",

],

];

}

<?php

namespace appindexfacade;

use thinkFacade;

class User extends Facade

{

protected static function getFacadeClass()

{

return "appvalidateUser";

}

}

利用thinkphp里面的validate类进行验证

/**

* 验证器总结

* 1.验证器是一个自定义的类,必须继承于框架的验证类thinkValidate.php

* 2.验证器可以创建在应用application目录下的任何一个可以访问的目录下面

* 这个访问是指控制器可以访问,并不是指外部的URL访问,只需要指定正确的命名空间

* 3.验证器其实就是完成框架的thinkValidate类中的属性protected $rule=[]初始化

* 4、在控制器中直接实例代调用check()完成验证

* 5、还可以创建一个自定义的静态代理,来统一验证方法的调用方式

*/

//2.独立验证:使用的是验证器类thinkValidate中的rule方法

//rule()方法实际上就是完成给当前的protected $rule=[]初始化

//独立就是不依赖:不依赖于用户自定义的验证器类:appvalidateUser.php

public function test3()

{

//验证规则

$rule=[

"name|姓名"=>[

"require",

"max"=>20,

"min"=>5,

],

"email|邮件"=>[

"require",

"email",

],

"password|密码"=>[

"require",

"max"=>12,

"min"=>3,

"alphaNum",

],

"mobile|手机"=>[

"require",

"mobile",

],

];

//添加字段的验证规则:初始化rule属性

Validate::rule($rule);

//要验证数据

$data = [

"name" => "yht12345",

"email" => "45501@qq.com",

"password" => "123456",

"mobile" => "15988889999"

];

//如果验证不通过,直接输出错误信息

if(!Validate::check($data)){

return Validate::getError();

}

return "验证通过";

}

 

以上是 thinkphp5.1学习过程十二——验证器与静态代理控制器验证独立验证 的全部内容, 来源链接: utcz.com/z/511010.html

回到顶部