Prüfen, ob Feld existiert in der Eingabe während der Validierung mit Laravel
Ich möchte sicherstellen, dass bestimmte Felder geschrieben, die als Teil der form, aber ich don t Geist, wenn einige leer sind Werte.
Die "erforderliche" validation rule wird nicht funktionieren, da ich glücklich bin, zu akzeptieren, leere strings. Ich habe versucht, das unten, aber als 'Adresse2' - Feld ist nie gesendet, der validator nicht verarbeiten.
Irgendwelche Ideen?
$rules = array(
'address2' => 'attribute_exists'
);
class CustomValidator extends Illuminate\Validation\Validator {
public function validateAttributeExists($attribute, $value, $parameters)
{
return isset($this->data[$attribute]);
}
}
was Sie genau versuchen zu tun? Sie sind bei der Prüfung für die isset in Ihrem benutzerdefinierten code eher Sie benutzt haben könnte erforderlich?
Haben Sie einen bestimmten Satz von Werten, "Adresse2" sollte übereinstimmen? Es gibt eine Menge der Validierungsregeln, die mit Laravel und für etwas so einfaches wie
Tut mir Leid, aber ich kann nicht erklären, mich richtig. Es ist derzeit nicht möglich, über alle vorhandenen Gültigkeitsregel zu überprüfen, dass die $_POST[Attribut] existiert, aber erlaubt einen leeren string als Wert hat. Ich möchte annehmen, leere Saiten, aber überprüfen Sie, dass die variable 'Adresse2' ist in der post-Anforderung. Mein Versuch, über das erstellen einer benutzerdefinierten Gültigkeitsregel scheint nicht zu funktionieren. Ich natürlich, konnte nur überprüfen, um zu sehen, ob es isset im code, aber ich bin versucht, Dinge sauber zu halten und die Validierung Regeln, bevor eine zusätzliche Logik.
Haben Sie einen bestimmten Satz von Werten, "Adresse2" sollte übereinstimmen? Es gibt eine Menge der Validierungsregeln, die mit Laravel und für etwas so einfaches wie
address2
ich bin mir nicht sicher, müssten Sie eine benutzerdefinierte überprüfung.Tut mir Leid, aber ich kann nicht erklären, mich richtig. Es ist derzeit nicht möglich, über alle vorhandenen Gültigkeitsregel zu überprüfen, dass die $_POST[Attribut] existiert, aber erlaubt einen leeren string als Wert hat. Ich möchte annehmen, leere Saiten, aber überprüfen Sie, dass die variable 'Adresse2' ist in der post-Anforderung. Mein Versuch, über das erstellen einer benutzerdefinierten Gültigkeitsregel scheint nicht zu funktionieren. Ich natürlich, konnte nur überprüfen, um zu sehen, ob es isset im code, aber ich bin versucht, Dinge sauber zu halten und die Validierung Regeln, bevor eine zusätzliche Logik.
InformationsquelleAutor eski009 | 2013-07-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie die benutzerdefinierte validator wie diesen.
Dadurch wird AttributeExists arbeiten, ohne die Verwendung erfordern. Für mehr erläutern über diesem. Wenn Sie möchten, erstellen Sie neue Prüfregeln. Wenn Sie nicht setzen es in $implicitRules, diese Methode wird nicht funktionieren, wenn Sie nicht erfordern Regel vor. Finden Sie mehr info in laravel-source-code.
InformationsquelleAutor EThaizone Jo
Können Sie
Input::has('address2')
zu überprüfen, ob etwas gebucht durch 'Adresse2' input name. Siehe Beispiel:InformationsquelleAutor CodeBull
Wenn Sie ein Formular Absenden jedes Feld geschrieben, in der Tat ist, wenn Sie verlassen, einige eingereicht leer ist, dann das Feld den Wert null oder leer ist. Überprüfen Sie einfach die POST-Parameter einmal zu tun, so öffnen Sie das firebug-Konsole in firefox und das Formular Absenden, überprüfen Sie dann die post-Parameter. Wie Sie wollen, zu akzeptieren leerer string, was ist die Verwendung von der Regel?
sonst können Sie dies tun,
Sie haben, um dies manuell zu tun wie das, was ich oben schon gesagt, isset($addr2) wird false zurückgeben, wenn seine leer oder nicht gesendet.
Das ist eine Schande, wie ich idealerweise verwenden möchten, Laravel Validierung.
Laravel Validierung ist in Ordnung, Aber ich glaube nicht, dass es solche Validierung oder um sicherzustellen, dass es erforderlich ist, noch leer...
InformationsquelleAutor Trying Tobemyself
Eigentlich, Laravel hat eine Methode, um zu überprüfen, ob ein Attribut existiert, wenn auch nicht gefüllt.
Alle Validierungsregeln gespeichert sind in der Validator-Klasse (/vendor/laravel/framework/src/Illuminate/Validation/Validator.php) können Sie prüfen, die für die Umsetzung der einzelnen Regeln, auch keine dokumentierten Regeln.
Referenz Hinzugefügt.
InformationsquelleAutor Carlos Arauz
In Laravel 5,
InformationsquelleAutor DJ Far