1. 验证器的使用,系统提供了一条命令直接生成想要的类;
php think make:validate User
2. 这条命令会自动在应用目录下生成一个 validate 文件夹,并生成 User.php 类;
class User extends Validate
3. 自动生成了两个属性:$rule 表示定义规则,$message 表示错误提示信息;
protected $rule = [
'name' => 'require|max:20', //不得为空,不得大于 20 位
'price' => 'number|between:1,100', //必须是数值,1-100 之间
'email' => 'email' //邮箱格式要正确
];
protected $message = [
'name.require' => '姓名不得为空',
'name.max' => '姓名不得大于 20 位',
'price.number' => '价格必须是数字',
'price.between' => '价格必须 1-100 之间',
'email' => '邮箱的格式错误'
];
4. 如果不设置$message 定义的话,将提示默认的错误信息;
5. 验证器定义好了之后,我们需要进行调用测试,创建一个 Verify.php 控制器;
$data = [
'name' => '蜡笔小新',
'price' => 90,
'email' => 'xiaoxin@163.com',
];
$validate = new \app\validate\User();
if (!$validate->check($data)) {
dump($validate->getError());
}
6. 控制器类还提供了一个更加方便验证的方法,可以更容易的进行编码;
$result = $this->validate([
'name' => '蜡笔小新',
'price' => 90,
'email' => 'xiaoxin@163.com',
], '\app\validate\User');
if ($result !== true) {
dump($result);
}
7. 默认情况下,一旦有数据验证不符合规则,就立刻停止验证进行返回;
0条评论