Ich erweitere die Laravel Validierungsregeln, um eine Regel für "zwischen zwei benutzerdefinierten Feldern" zu erstellen - die between
Regel behandelt nur "zwischen zwei Werten".Laravel Validation - benutzerdefinierte Regel, benutzerdefinierte Fehlermeldung
Validator::extend('between_fields', function($attribute, $value, $parameters, $validator) {
$data = $validator->getData();
$min = array_get($data, $parameters[0], $parameters[0]);
$max = array_get($data, $parameters[1], $parameters[1]);
return $value >= $min && $value <= $max;
});
Dies funktioniert gut, aber ich würde dann wie eine Fehlermeldung zu definieren, die die numerischen Werte verwendet. Ich habe eine Meldung wie diese ein:
'between_fields' => ':attribute must be between :min and :max.',
... das ist, wie die bestehende between
Regel funktioniert, aber die :min
und :max
nicht mit irgendetwas ersetzt bekommen.
Wie übermittele ich die Werte für diese von der Validator-Erweiterung bis zum Message-Handler?
Ahh, ich wusste, ich muss etwas fehlen :) herausstellt, dass * ist * in der Dokumentation, es ist nur in nahe liegender Weise nicht genannt haha. Danke vielmals. Ich werde die Antwort in Kürze akzeptieren, sobald ich zu diesem Projekt zurückgesprungen bin und es getestet habe – Joe
Sie sind willkommen –