Mijn vraag
Ik heb een custom validatie regel moeten maken omdat de aanwezige Laravel validatie regels niet voldeden aan de behoefte. Bij deze validatie regel maak ik gebruik van parameters. Dit zijn andere velden in mijn formulier. Nu wil ik het label tonen wat bij deze velden hoort in het bericht, iets wat ik normaal doe door de attributes mee te geven aan de validator. Voor de standaard Laravel validatie regels gaat dit goed. Bijvoorbeeld 'Beschrijving is verplicht als Naam niet ingevuld is.' Alleen bij mijn custom validatie regel gaat dit niet op. Dan krijg ik bijvoorbeeld 'Beschrijving is verplicht als product_name niet ingevuld is.'. product_name is in dit geval een parameter voor de validatie van het veld Beschrijving.
Heeft iemand een idee hoe ik in een custom validatie regel de ingestelde attributen ophaal in de Validator::replacer() methode?
Wat ik nu doe is namelijk het volgende. Let op! dit is niet de volledige validatie regel.
Relevante software en hardware die ik gebruik
Laravel 5.2
Ik heb een custom validatie regel moeten maken omdat de aanwezige Laravel validatie regels niet voldeden aan de behoefte. Bij deze validatie regel maak ik gebruik van parameters. Dit zijn andere velden in mijn formulier. Nu wil ik het label tonen wat bij deze velden hoort in het bericht, iets wat ik normaal doe door de attributes mee te geven aan de validator. Voor de standaard Laravel validatie regels gaat dit goed. Bijvoorbeeld 'Beschrijving is verplicht als Naam niet ingevuld is.' Alleen bij mijn custom validatie regel gaat dit niet op. Dan krijg ik bijvoorbeeld 'Beschrijving is verplicht als product_name niet ingevuld is.'. product_name is in dit geval een parameter voor de validatie van het veld Beschrijving.
Heeft iemand een idee hoe ik in een custom validatie regel de ingestelde attributen ophaal in de Validator::replacer() methode?
Wat ik nu doe is namelijk het volgende. Let op! dit is niet de volledige validatie regel.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| // De validatie regel public function validateCustomRule ($attribute, $value, $parameters, $validator) { $data = $validator->getData(); foreach($parameters as $parameter) { if(!empty($data[$parameter])) { return false; } } return true; } // Vervang de parameters in het bericht Validator::replacer('custom_validation_rule', function($message, $attribute, $rule, $parameters) { return str_replace([':parameters'], implode(' / ', $parameters), $message); }); |
Relevante software en hardware die ik gebruik
Laravel 5.2
PSN: Skippy0810 | iRacing Profiel