1、在同模块下新建validate目录,新建Basevalidate.php文件,代码如下:
<?php
namespace app\carrental\validate;
use think\Validate;
class Basevalidate extends Validate
{
protected $rule = [
'name' => 'require|min:2|max:5|chs',
'phone' => 'require|min:11|max:11|number',
'email' => 'email',
];
protected $message = [
'name.require' => '名字不能为空',
'name.min' => '名字最小长度:2个字符',
'name.max' => '名字最大长度:5个字符',
'name.chs' => '名字只能为汉字',
'phone.require' => '手机号码不能为空',
'phone.max' => '手机号码最大长度:11个字符',
'phone.min' => '手机号码最小长度:11个字符',
'phone.number' => '手机号码只能为数字',
'email' => '邮箱格式错误',
];
}
2、控制器验证如下:
public function validateTest()
{
$param = input('post.');
$validate = validate('Basevalidate');
$validate->scene('edit', ['name','phone', 'email']);
$result = $validate->scene('edit')->check($param);
if (!$result) {
returnJson(1, $validate->getError());
}
$data = [
'phone' => $param['phone'],
'name' => "李夺2",
'ss' => "李33夺",
];
$cuserMod = new CarrentalUser();
$res = $cuserMod->allowField(true)->save($data);
$id = $cuserMod->id;
print_r($id);
}
|