관리-도구
편집 파일: AdminAddRequest.php
<?php namespace App\Http\Requests\Admin; use Illuminate\Foundation\Http\FormRequest; class AdminAddRequest extends FormRequest { protected $stopOnFirstFailure = false; public function authorize(): bool { return true; } public function rules(): array { return [ 'name' => 'required', 'role_id' => 'required', 'image' => getRulesStringForImageValidation( rules: ['required', 'image'], skipMimes: ['.svg', '.gif'], maxSize: getFileUploadMaxSize(unit: 'kb'), isDisallowed: true ), 'identity_image.*' => getRulesStringForImageValidation( rules: ['nullable'], skipMimes: ['.svg', '.gif'], maxSize: getFileUploadMaxSize(unit: 'kb'), isDisallowed: true ), 'email' => 'required|email|unique:admins', 'password' => 'required|regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*\W)(?!.*\s).{8,}$/|same:confirm_password', 'phone' => 'required|min:4|max:20' ]; } public function messages(): array { return [ 'name.required' => translate('name_is_required'), 'role_id.required' => translate('role_id_is_required'), 'image.required' => translate('image_is_required'), 'image.mimes' => translate('The_image_type_must_be') . getFileUploadFormats(skip: ['.svg','.gif'], asMessage: 'true'), 'image.max' => translate('The_image_may_not_be_greater_than_'). getFileUploadMaxSize() . "MB", 'identity_image.*.mimes' => translate('each_identity_image_must_be_a_file_of_type_') . getFileUploadFormats(skip: ['.svg', '.gif'], asMessage: true), 'identity_image.*.max' => translate('each_identity_image_may_not_be_greater_than_'). getFileUploadMaxSize() . "MB", 'email.required' => translate('email_is_required'), 'email.email' => translate('email_must_be_valid'), 'email.unique' => translate('email_already_in_use'), 'password.required' => translate('password_is_required'), 'password.regex' => translate('The_password_must_be_at_least_8_characters_long_and_contain_at_least_one_uppercase_letter') . ',' . translate('_one_lowercase_letter') . ',' . translate('_one_digit_') . ',' . translate('_one_special_character') . ',' . translate('_and_no_spaces') . '.', 'phone.required' => translate('phone_is_required'), 'phone.max' => translate('please_ensure_your_phone_number_is_valid_and_does_not_exceed_20_characters'), 'phone.min' => translate('phone_number_with_a_minimum_length_requirement_of_4_characters'), ]; } }