表单自动验证需要在当前应用下创建与Controller同级文件夹 validate
直接上代码
验证器:
use think\Validate;
class AuditionValidate extends Validate{
//自动验证表单
protected $rule = [
['name', 'require', '姓名不能为空'],
['phone', 'checkPhone|unique:audition', '手机号格式错误|该手机号已经报过名了'],
['grade', 'require', '请选择年级'],
['c_id', 'require', '请选择校区'],
];
/**
* Effect 自定义手机号验证规则
* @param $value
* @return bool
*/
protected function checkPhone($value)
{
return 1 === preg_match("/^1[34578]\d{9}$/",$value);
}
}
notice: 唯一性验证的时候需要在unique后加上表名
控制器
$data = ['name'=>'测试唯一性','phone'=>17600699802,'grade' =>12,'c_id'=>2];
//健壮验证
$result = $this->validate($data, 'Audition');
if (true !== $result) {
return $result;
}