Ho un modulo e ho una matrice di campi di input per gli URL video, ora quando convalido il modulo se ho più campi non validi con URL video, ottengo lo stesso messaggio per ciascuno dei campo non valido, dal momento che ho creato i miei messaggi personalizzati. Non voglio per ogni campo di input lo stesso messaggio di errore e non voglio i messaggi di errore Laravel predefiniti per le matrici in cui il nome del campo è mostrato con il messaggio di errore, invece di quello, vorrei avere i messaggi di errore con il valore, in questo caso url scritto dall'utente. Come farlo?Messaggi personalizzati Laravel per convalida array
Questo è il mio file di richiesta con i messaggi e le regole:
public function messages(){
$messages = [
'title.required' => 'Du må ha tittel.',
'type.required' => 'Du må velge artikkeltype.',
'category.required' => 'Du må velge kategori.',
'summary.required' => 'Du må ha inngress.',
'text.required' => 'Du må ha artikkeltekst.',
'active_url' => 'Du må ha gyldig url.',
];
}
public function rules(){
$rules = [
'external_media.*' => 'active_url',
'title' => 'required',
'type' => 'required',
'category' => 'required',
'summary' => 'required',
'text' => 'required',
//'image' => 'required|image|max:20000',
];
return $rules;
}
codice aggiornato per rendere la questione più chiara
Quando ho il mio file di richiesta in questo modo:
public function messages(){
$messages = [
'title.required' => 'Du må ha tittel.',
'type.required' => 'Du må velge artikkeltype.',
'category.required' => 'Du må velge kategori.',
'summary.required' => 'Du må ha inngress.',
'text.required' => 'Du må ha artikkeltekst.',
'external_media.active_url' => 'Du må ha gyldig url.',
];
return $messages;
}
public function rules(){
$rules = [
'external_media.*' => 'active_url',
'title' => 'required',
'type' => 'required',
'category' => 'required',
'summary' => 'required',
'text' => 'required',
//'image' => 'required|image|max:20000',
];
return $rules;
}
Ottengo l'output:
The external_media.0 is not a valid URL.
The external_media.1 is not a valid URL.
The external_media.2 is not a valid URL.
Invece di quel tipo di uscita vorrei prendere il valore per ciascuno di questi ingressi e avere qualcosa di simile:
The htt:/asdfas.com is not a valid URL.
quando lo faccio come da te suggerito tanto sono errore: Array alla conversione stringa – Marco
Oh giusto, credo di capire ora. Non credo sia possibile - aggiornerò la mia risposta – Jonathon
Sei sulla strada giusta. Controlla il mio commento per la soluzione di lavoro – smo0f