Hinzufügen von benutzerdefinierten Validierung Fehler zu Laravel form

Habe ich ein einfaches Formular eingerichtet, um Benutzern das ändern Ihrer E-Mail-Adresse, und ich mache die folgende überprüfung auf, bevor ich die E-Mail:

//Set up the form validation
$validator = Validator::make(
    Input::all(),
    array(
        'email' => 'email|unique:users',
        'password' => 'required'
    )
);

//If validation fails, redirect to the settings page and send the errors
if ($validator->fails())
{
    return Redirect::route('settings')->withErrors($validator)->withInput();
}

Dies funktioniert gut, aber nach dieser grundlegenden Validierung möchte ich überprüfen, ob der Benutzer gelieferten Eingabe des korrekten Passworts. Dazu mache ich die folgenden mit Laravel ist basic-authentication library:

//Find the user and validate their password
$user = Auth::user();

if (!Auth::validate(array('username' => $user->username, 'password' => Input::get('password'))))
{
    die("failed to authenticate");
}

Eher als Umgang mit der Logik zu sagen, die Benutzer Ihr Passwort ist falsch, ich würde lieber nur ein form Fehler in der password Eingabe, so zeigt es sich genauso wie normale Formular-Validierung. So etwas wie so:

if (!Auth::validate(array('username' => $user->username, 'password' => Input::get('password'))))
{
    $validator->addError('password', 'That password is incorrect.');
    return Redirect::route('settings')->withErrors($validator)->withInput();
}

So, das Passwort ist falsch Fehler wird angezeigt, neben meinem Passwort-Eingabe und schauen, wie die richtige form der Validierung.

Wie kann ich dies tun?

InformationsquelleAutor der Frage John Dorean | 2014-03-03

Schreibe einen Kommentar