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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage