12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <?php
- namespace app\common\validate;
- use think\Validate;
- use app\common\model\Person as PersonModel;
- class Person extends Validate {
- protected $rule = [
- 'username' => 'require|max:50|unique:un_person',
- 'password' => 'require',
- 'name' => 'require|max:100',
- 'idCard' => 'require|checkIdCard',
- 'sex' => 'require',
- 'phone' => 'require|mobile|unique:un_person',
- 'address' => 'max:100',
- 'email' => 'email'
- ];
- protected $message = [
- 'username.require' => '请填写账号!',
- 'username.max' => '账号最多50个字符!',
- 'username.unique' => '该账号已被注册',
- 'password.require' => '请填写密码!',
- 'name.require' => '请输入姓名',
- 'name.max' => '姓名最多100个字符!',
- 'idCard.require' => '请填写证件号码!',
- 'sex.require' => '性别必须选择',
- 'phone.require' => '请填写手机号',
- "phone.mobile" => "请填写正确的手机号",
- 'phone.unique' => '该手机号已被注册',
- 'address.max' => '联系地址最多100个字符!',
- 'email.email' => '不是正确的邮箱格式'
- ];
- protected function checkIdCard($value, $rule, $data = []) {
- if (!\app\common\api\IdCardApi::isValid($value) && !preg_match("/^([a-zA-z]|[0-9]){5,17}$/", $value) && !preg_match("/^[a-zA-Z0-9]{6,10}$/", $value) && !preg_match("/^([0-9]{8}|[0-9]{10})$/", $value))
- return "请填写正确的证件号码!";
- $info = PersonModel::where('idCard', $value)->where('active', 1)->where('id', '<>', $data['id'])->find();
- if ($info) {
- return "该证件号码已被注册";
- } else {
- return true;
- }
- }
- protected $scene = [
- 'add' => ['username', 'password', 'name', 'idCard', 'sex', 'phone'],
- 'basic' => ['address'],
- ];
- }
|