123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- namespace App\Http\Requests;
- use App\Models\AdminUser;
- use Illuminate\Support\Arr;
- use Illuminate\Support\Facades\Storage;
- class AdminUserRequest extends FormRequest
- {
- /**
- * Get the validation rules that apply to the request.
- *
- * @return array
- */
- public function rules()
- {
- $user = $this->userResource();
- $id = (int) optional($user)->id;
- $rules = [
- 'account' => 'required|max:100|unique:admin_users,account,'.$id,
- 'name' => 'required|max:100',
- 'avatar' => 'nullable|string|max:255',
- 'job_number' => 'required|max:6|min:3|unique:admin_users,job_number,'.$id,
- 'status' => 'required|boolean',
- 'phone' => 'required',
- 'password' => 'required|between:6,20|confirmed',
- 'roles' => 'array',
- 'areas' => 'array',
- 'roles.*' => 'exists:admin_roles,id',
- 'permissions' => 'array',
- 'permissions.*' => 'exists:admin_permissions,id',
- ];
- if ($this->isMethod('put')) {
- $rules = Arr::only($rules, $this->keys());
- // 如果更新时, 没填密码, 则不用验证
- if (!$this->post('password')) {
- unset($rules['password']);
- }
- // 处理更新时,图片没有改,则不用验证
- if ($this->input('avatar') === Storage::disk('uploads')->url($user->avatar)) {
- unset($rules['avatar']);
- }
- }
- return $rules;
- }
- /**
- * @return AdminUser
- */
- public function userResource()
- {
- return $this->route('admin_user');
- }
- public function attributes()
- {
- return [
- 'account' => '账号',
- 'name' => '姓名',
- 'password' => '密码',
- 'job_number' => '工号',
- 'status' => '状态',
- 'pid' => '父id',
- 'phone' => '手机号',
- 'roles' => '角色',
- 'areas' => '区域',
- 'roles.*' => '角色',
- 'permissions' => '权限',
- 'permissions.*' => '权限',
- 'avatar' => '头像',
- ];
- }
- }
|