Customizing-Modell gespeichert werden, werden Validierungsregeln in Laravel
Sagen wir mal, ich habe einen Benutzer-Modell in Laravel wie diese:
class User extends Eloquent implements UserInterface, RemindableInterface {
public static $rules = array(
'email' => 'required|email',
'password' => 'required|min:8|confirmed',
'password_confirmation' => 'required|min:8'
);
...
}
Regeln, die im Modell gespeicherten, wiederverwendet wird sowohl für das login und Registrierung Formen, aber problem tritt auf, wenn es gibt keine Notwendigkeit, das Kennwort zu bestätigen (z.B. login-Formular). Und es gibt viele solche Situationen, in denen die Regeln geändert werden sollten.
So, ist es Reine Methode, wie dies zu ändern Modell-gespeichert Validierungs-Regeln für die verschiedenen Fälle, in Laravel?
Muss ich mich neu organisieren, meine Regel-storage-Ansatz überhaupt?
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Regeln hinzufügen, die dynamisch, wenn Sie Sie benötigen.
Beispiel:
Wenn ich Recht habe, müssen Sie nur die
password_confirmation
Regel bei der Registrierung eines Benutzers und beim Update ein Passwort. Also, in Ihrem Modell nicht fügen Sie denpassword_confirmation
Regel .Hinzufügen der Regel dynamisch:
Registrieren Sie einen Benutzer, der
password_confirmation
Feld ist erforderlich. So, von Ihrem controller, können Sie immer fügen Sie Regeln wie die folgenden:und manchmal müssen Sie Regeln auf der Grundlage der Benutzereingabe.
Beispiel:
Wenn ein Benutzer wählt
Australia
als Land, müssen Sie auch wählen Sie einen Status aus.password
hat Regelconfirmed
(definiert im Modell), aber diese Regel muss entfernt werden, wenn das Passwort-Bestätigung ist nicht nötig!$rules['password'] = 'required|min:8';
Spät, um das Spiel, sondern pro Laravel docs können Sie eine "manchmal" - Regel.
http://laravel.com/docs/validation
In Kürze:
In einigen Situationen möchten Sie möglicherweise führen Sie die Validierung prüft gegen ein Feld nur, wenn das Feld in der Eingabe-array. Schnell zu erreichen, fügen Sie die manchmal Regel Ihre Regel-Liste:
Ich so etwas tun.
Im Modell:
In der Steuerung:
Soweit ich sehen kann, ist das Flammende Paket verarbeitet Validierung des Modells sowie für Laravel > 5.0. Es scheint supoort alle eingebauten Validierungs-Funktionen (wie die Verwendung von 'manchmal' wenn Sie nur wollen, um zu überprüfen Sie ein Feld, wenn es übergeben wird) als auch, Sie zu erweitern.
http://packalyst.com/packages/package/laravelbook/ardent