input('username'); if (is_string($username)) { $this->merge([ 'username' => Str::lower(trim($username)), ]); } if ($this->input('email') === '') { $this->merge([ 'email' => null, ]); } } /** * Get the validation rules that apply to the request. * * @return array> */ public function rules(): array { return [ 'username' => ['required', 'string', 'min:2', 'max:64', 'regex:/^[a-zA-Z0-9._-]+$/u', 'unique:admin_users,username'], 'nickname' => ['required', 'string', 'max:128'], 'email' => ['nullable', 'string', 'email', 'max:255'], 'password' => ['required', 'string', 'min:8', 'max:256'], 'status' => ['sometimes', 'integer', 'in:0,1'], 'admin_site_id' => ['required', 'integer', 'exists:admin_sites,id'], 'role_slugs' => ['required', 'array', 'min:1'], 'role_slugs.*' => ['string', 'max:64', 'distinct', 'exists:admin_roles,slug'], ]; } }