ich einen benutzerdefinierten Validator in AppSeriveProvider.php
mit Code erstellt haben: -Passing Variable Validator, Laravel
Validator::extend('less_than', function($attribute, $value, $parameters, $validator) {
$max_field = $parameters[0];
$data = $validator->getData();
$max_value = 100;
return $value < $max_value;
});
Validator::replacer('less_than', function($message, $attribute, $rule, $parameters) {
return str_replace(':field', $parameters[0], $message);
});
Und mein Controller haben dieses Stück Code
$messages = [
'bid.required' => 'Please enter the amount',
'bid.less_than' => 'Insufficient balance',
];
$balance = 100;
$v = Validator::make($request->all(), [
'bid' => 'required|less_than:$balance',
],$messages);
if ($v->fails()) {
return redirect('newgame')
->withErrors($v)
->withInput();
}else {
echo "Success"
}
I Balance Variable senden müssen der Validator und in der Validator-Funktion muss ich $ max_value (die momentan 100 haben) auf den Wert in $ balance setzen.
Nachdem in den Verzeichnissen suchen und auf den Code suchen Ich kann nicht verstehen, dass das, was der Inhalt $parameters
variabel sind, weil seine 0-Index in max_field bezeichnet wird, wie $validator->getData()
funktioniert? und wie $max_value
seinen Wert bekommt.
Bitte jemand erklären mir das alles oder kommentieren den Link zu den jeweiligen Problemen. Und Hilfe bei der Lösung dieses große Problem.
Laravel-Version? Hast du die Dokumentation gelesen, ist es gut geschrieben, solltest du es noch einmal versuchen bevor du fragst. – Kyslik
Laravel Version 5.2.22 und ich stellte die Frage nach dem Lesen der Dokumentation, weil nur 4-5 wichtige Zeilen angegeben sind, die keine Informationen für die Übergabe einer Variablen an die Funktion enthalten –