步骤
1.生成验证类
php think make:validate User
2.填写验证规则和提示语
<?php
declare (strict_types = 1);
namespace app\validate;
use think\Validate;
class User extends Validate
{
/**
* 定义验证规则
* 格式:'字段名' => ['规则1','规则2'...]
*
* @var array
*/
protected $rule = [
'name' => 'require|max:15',
'sort' => 'require|integer',
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [
'name.require' => '名称必须',
'name.max' => '名称最多不能超过15个字符',
'sort.require' => '排序值必须',
'sort' => '排序值格式错误',
];
}
3.控制器开启验证
use app\validate\User;
use think\exception\ValidateException;
/*2.5 添加栏目 */
public function class_add_post_****()
{
session_safe();
$a = Request::param('a');
$b = Request::param('b');
try {
validate(User::class)->check([
'name' => $a,
'sort' => $b,
]);
} catch (ValidateException $e) {
// 验证失败 输出错误信息
dump($e->getError());
}
//插入数据库
$data = ['father_id' => 0, 'name' => $a, 'sort' => $b];
$result = Db::name('class')->insert($data);
if($result){
return 'success';
}
}
提示:验证器是否生效可以使用接口测试工具进行测试,如apifox工具。