Laravel Validierung: required_with_all Bedingung immer bestanden
As perlaravel Validierungsdokumentation:
required_with_all: foo, bar, ... Das zu überprüfende Feld muss nur vorhanden sein, wenn alle anderen angegebenen Felder vorhanden sind.
Hier ist mein Test:
Route::get('/test/{param}', function($param) {
$screenRules = array(
'foo' => 'string',
'param' => 'required_with_all:foo',
);
$validator = Validator::make(array('param' => $param), $screenRules);
if($validator->fails())
{
echo '<pre>';
print_r($validator->errors());
echo '</pre>';
die('Dying now!');
}
else
{
echo 'All Good!';
die('Dying now!');
}
});
Ich würde das erwarten, da ich nicht vorbeigehefoo
, dieser Test sollte fehlschlagen. Aber dieser Test ist erfolgreich, wenn ich meine URL aufrufe: mysite.com / test / mytest
Ähnlich, wenn Sie die Rolle vertauschen, wie so
'param' => 'required_without_all:foo',
und foo als Eingabe übergeben
array('param' => $param, 'foo' => 'bar')
Ich würde das erwarten, dafoo
ist vorhanden, du kannst kein @ habparam
als Eingabe. Aber der Test besteht trotzdem.
n beiden Fällen sollte ich Fehler sehen. Also, was ist hier los?
Ich weiß auch, dass meine Validierungsfunktionen nicht falsch sind, da meine anderen Validierungsfunktionen funktionieren. Z.B. füge eine Bedingung wie folgt hinzu:
'param' => 'required_with_all:foo|numeric',
und es wird sicher ein Fehler ausgelöstThe param must be a number.