123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?php namespace App\Http\Requests\Admin;
- use App\Http\Requests\BaseRequest;
- use Illuminate\Validation\Rule;
- /**
- * 管理验证器
- *
- */
- class AdminUser extends BaseRequest
- {
- /**
- * 获取应用于请求的规则
- *
- * @return array
- */
- public function rules()
- {
- // 编辑时排除ID
- $id = request('uid',null);
- // 非重规则
- $unique = Rule::unique('admin')->where(function ($query) {
- return $query->where(['username'=>request('username','')]);
- })->ignore($id,'uid');
- // 非重规则phone
- $uniphone = Rule::unique('admin')->where(function ($query){
- return $query->where(['phone'=>request('phone','')]);
- })->ignore($id,'uid');
- // 编辑时排除ID
- // 返回结果
- return [
- // 有时候我们希望某个字段在第一次验证失败后就停止运行验证规则,只需要将 bail 添加到规则中:
- // 验证字段,验证规则,提示信息
- 'username' => ['required',$unique],
- 'phone' => ['required','regex:/^1[3456789][0-9]{9}$/',$uniphone],
- 'password' => 'required',
- 'uid' => 'required|integer|gt:0',
- 'groups' => 'required'
- ];
- }
-
- // 场景列表
- protected $scenes = [
- 'add' => ['username','phone','password','groups'],
- 'edit' => ['uid','username','phone'],
- 'del' => ['uid'],
- 'set_status' => ['uid'],
- ];
- /**
- * 获取已定义验证规则的错误消息
- *
- * @return array
- */
- public function messages()
- {
- return [
- 'username.required' => '用户名必填',
- 'username.unique' => '用户名已经存在',
- 'phone.required' => '手机号必填',
- 'phone.regex' => '手机号格式错误',
- 'phone.unique' => '手机号已经存在',
- 'password.required' => '密码必填',
- 'uid.required' => 'ID未知',
- 'uid.integer' => 'ID格式错误',
- 'uid.gt' => 'ID格式错误',
- 'groups.required' => '用户组必选'
- ];
- }
-
- }
|