概述
ThinkPHP5.0验证使用独立的\think\Validate类或者验证器进行验证。
独立验证任何时候,都可以使用Validate类进行独立的验证操作,例如:
$validate = new Validate([
‘name’ => ‘require|max:25’,
‘email’ => ‘email’
]);
d a t a = [ ′ n a m e ′ = > ′ t h i n k p h p ′ , ′ e m a i l ′ = > ′ t h i n k p h p @ q q . c o m ′ ] ; i f ( ! data = [ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com' ]; if (! data=[′name′=>′thinkphp′,′email′=>′thinkphp@qq.com′];if(!validate->check(KaTeX parse error: Expected '}', got 'EOF' at end of input: …a)) { dump(validate->getError());
}
验证器
这是5.0推荐的验证方式,为具体的验证场景或者数据表定义好验证器类,直接调用验证类的check方法即可完成验证,下面是一个例子:
我们定义一个\app\index\validate\User验证器类用于User的验证。
namespace app\index\validate;
use think\Validate;
class User extends Validate
{
protected $rule = [
‘name’ => ‘require|max:25’,
‘email’ => ‘email’,
];
}
在需要进行User验证的地方,添加如下代码即可:
$data = [
‘name’=>‘thinkphp’,
‘email’=>‘thinkphp@qq.com’
];
$validate = Loader::validate(‘User’);
if(! v a l i d a t e − > c h e c k ( validate->check( validate−>check(data)){
dump($validate->getError());
}
使用助手函数实例化验证器
$validate = validate(‘User’);
验证规则:
设置规则
可以在实例化Validate类的时候传入验证规则,例如:
$rules = [
‘name’ => ‘require|max:25’,
‘age’