Custom Error Messages
Bei Bedarf können Sie anstelle der Standardeinstellungen benutzerdefinierte Fehlermeldungen zur Validierung verwenden. Es gibt mehrere Möglichkeiten, benutzerdefinierte Nachrichten anzugeben. Zuerst können Sie die benutzerdefinierten Nachrichten als drittes Argument an die Methode Validator::make übergeben:
$messages = [
'required' => 'The :attribute field is required.',
];
$validator = Validator::make($input, $rules, $messages);
In this example, the :attribute
placeholder will be replaced by the actual name of the field under validation. You may also utilize other placeholders in validation messages. For example:
$messages = [
'same' => 'The :attribute and :other must match.',
'size' => 'The :attribute must be exactly :size.',
'between' => 'The :attribute value :input is not between :min - :max.',
'in' => 'The :attribute must be one of the following types: :values',
];
Specifying A Custom Message For A Given Attribute
Manchmal möchten Sie eine benutzerdefinierte Fehlermeldung nur für ein bestimmtes Feld angeben. Sie können dies mit der "Punkt"-Notation tun. Geben Sie zuerst den Namen des Attributs und dann die Regel an:
$messages = [
'email.required' => 'We need to know your e-mail address!',
];
Specifying Custom Messages In Language Files
In den meisten Fällen werden Sie Ihre benutzerdefinierten Nachrichten wahrscheinlich in einer Sprachdatei angeben, anstatt sie direkt an den Validator zu übergeben. Um dies zu tun, fügen Sie Ihre Nachrichten zu einem Custom Array (benutzerdefiniertes Array) in der Sprachdatei resources/lang/xx/validation.php hinzu.
'custom' => [
'email' => [
'required' => 'We need to know your e-mail address!',
],
],
Specifying Custom Attributes In Language Files
Wenn Sie möchten, dass der :attribute-Teil Ihrer Validierungsnachricht durch einen benutzerdefinierten Attributnamen ersetzt wird, können Sie den benutzerdefinierten Namen im Attribut-Array Ihrer Sprachdatei resources/lang/xx/validation.php angeben:
'attributes' => [
'email' => 'email address',
],
Specifying Custom Values In Language Files
Manchmal kann es erforderlich sein, dass der :value-Teil Ihrer Validierungsnachricht durch eine benutzerdefinierte Darstellung des Wertes ersetzt wird. Beachten Sie beispielsweise die folgende Regel, die angibt, dass eine Kreditkartennummer erforderlich ist, wenn der payment_type einen Wert von cc hat:
$request->validate([
'credit_card_number' => 'required_if:payment_type,cc'
]);
Wenn diese Validierungsregel fehlschlägt, wird die folgende Fehlermeldung ausgegeben:
The credit card number field is required when payment type is cc.
Anstatt cc als Wert der Zahlungsart anzuzeigen, können Sie eine benutzerdefinierte Wertdarstellung in Ihrer validation language file angeben, indem Sie ein Wertearray (value-Array) definieren:
'values' => [
'payment_type' => [
'cc' => 'credit card'
],
],
Wenn die Validierungsregel nun fehlschlägt, wird die folgende Meldung ausgegeben:
The credit card number field is required when payment type is credit card.