FormRequest messages() function does not translate all rules

34 views Asked by At

I have no problem to get "required", "unique" or "email" rules translated. However, required_if and prohibited_if keep showing up in English. File lang/es/validation.php does not exist, so it cannot be an interference from there.

public function rules(Request $request)
{
    return [
        "name" => "required",
        "lastnames" => "required",
        "email" => [
            "required",
            "email",
            Rule::unique('front_users', 'email')->ignore($request->id),
        ],
        "password" => [
            Rule::requiredIf($request->id === NULL),
        ],
        "role_id" => "required|exists:roles,id",
        "distributor_id" => [
            "nullable",
            "exists:distributors,id",
            Rule::requiredIf($request->role_id == Role::DISTRIBUTOR),
            Rule::prohibitedIf($request->role_id != Role::DISTRIBUTOR),
        ],
    ];
}

public function messages()
{
    $rules = [
        'name.required' => 'El campo Nombre es obligatorio',
        'lastnames.required' => 'El campo Apellidos es obligatorio',
        'email.required' => 'El campo Email es obligatorio',
        'email.unique' => 'No puedes usar el mismo correo que otro usuario',
        'email.email' => 'El email entrado no tiene un formato válido',
        'role_id.required' => 'El campo rol es obligatorio',
        'password.required_if' => 'Tienes que proporcionar una contraseña para el usuario',
        'role_id.exists' => 'El rol vinculado no existe',
        'distributor_id.exists' => 'El distribuidor vinculado no existe',
        'distributor_id.required_if' => 'Si el rol es distribuidor tienes que seleccionar el distribuidor al que pertenece.',
        'distributor_id.prohibited_if' => 'No puedes seleccionar un distribuidor si el usuario no tiene dicho rol.',
    ];

    return $rules;
}
0

There are 0 answers