Usando notación estándar como "password.required" puedo personalizar un mensaje de error para las reglas de validación integradas. Pero, ¿cómo puedo personalizar los mensajes de error para Illuminate\Validation\Rules\Password ?
$rules = [ 'password' => [ 'required', 'confirmed', Rules\Password::min(8)->letters()->mixedCase()->numbers()->symbols(), ], ]; $messages = [ 'password.required' => 'يجب ادخال كلمة المرور', 'password.confirmed' => 'كلمة المرور غير متطابقة', ]; $request->validate($rules, $messages); ¿Cómo personalizar los mensajes para min() , letters() , etc.?
De acuerdo con este comentario en la solicitud de extracción original, no puede hacer esto en el código y tiene que usar los archivos de localización JSON.
Así que verifique la clase de validación para el texto predeterminado y luego en resources/lang/ar.json agregue una traducción para él, así:
{ "The :attribute must contain at least one letter.": ":attribute يجب أن يحتوي على الأقل حرف واحد.", "The :attribute must contain at least one uppercase and one lowercase letter.": ":attribute يجب أن يحتوي على الأقل حرف كبير واحد وحرف صغير واحد.", "The :attribute must contain at least one number.": ":attribute يجب أن يحتوي على الأقل رقم واحد.", "The :attribute must contain at least one symbol.": ":attribute يجب أن يحتوي على الأقل رمز واحد." } El mensaje de longitud usa el estándar que se encuentra en resources/lang/ar/validation.php :
<?php return [ "min" => [ "string" => "يجب أن يكون طول نص حقل :attribute على الأقل :min حروفٍ/حرفًا.", ], ];O puede declararse en su código anterior.
$messages = [ 'password.required' => 'يجب ادخال كلمة المرور', 'password.confirmed' => 'كلمة المرور غير متطابقة', 'password.min' => 'whatever', ];Tenga en cuenta que hay paquetes como Laravel Lang que pueden hacer todas estas traducciones por usted.