controller
同级目录创建validate
目录,新建UserRegister.php
<?php
namespace app\admin\validate;
use think\Validate; #具体使用方法查看源码
class UserRegister extends Validate
{
//验证规则
protected $rule = [
'username' => 'require|unique:user',
'password' => 'confirm:confirm_password',
'confirm_password' => 'confirm:password',
'verify' => 'require|captcha'
'mobile' => 'number|length:11',
'email' => 'require|email',
'status' => 'require|number|egt:0',
];
//提示信息
protected $message = [
'username.require' => '请输入用户名',
'username.unique' => '用户名已存在',
'password.confirm' => '两次输入密码不一致',
'confirm_password.confirm' => '两次输入密码不一致',
'verify.require' => '请输入验证码',
'verify.captcha' => '验证码不正确',
'mobile.number' => '手机号格式错误',
'mobile.length' => '手机号长度错误',
'email.email' => '邮箱格式错误',
'status.require' => '请选择状态',
'status.number' => 'status必须是大于等于0的数字',
'status.egt' => 'status必须是大于等于0的数字'
];
//验证场景
protected $scene = [
'add' => ['user','email','pwd','status'],
'edit' => ['user','email','status']
];
}
controller
调用validate
示例:
/**
* 用户注册
*/
public function add()
{
if ($this->request->isPost()) {
$data = $this->request->param();
$validate_result = $this->validate($data, 'UserRegister');//字段验证
!$validate_result && $this->error($validate_result);//验证失败提示错误信息
$this->model->allowField(true)->save($data)
? $this->success('保存成功')
: $this->error('保存失败');
}else{
return $this->fetch('add', []);
}
}
tp3验证demo
//tp3验证demo
//对数据进行规则验证
$validate = validate('User');
!$validate->check($data) && $this->error($validate->getError());
// 获取表单上传文件 例如上传了001.jpg
$file = request()->file('photo');
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->validate(['size'=>15678,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads');
!$info && $this->error($file->getError());// 上传失败获取错误信息
// 成功上传后 获取上传信息
echo $info->getExtension();// 输出 jpg
echo $info->getSaveName(); // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
echo $info->getFilename(); // 输出 42a79759f284b767dfcb2a0197904287.jpg
print_R($data);
网友评论