Wie führe ich eine Formularvalidierung in ThinkPHP6 durch?

WBOY
Freigeben: 2023-06-12 09:36:26
Original
1588 Leute haben es durchsucht

ThinkPHP6 ist ein PHP-basiertes MVC-Framework, das die Entwicklung von Webanwendungen erheblich vereinfacht. Unter diesen ist die Formularvalidierung eine sehr grundlegende und wichtige Funktion. In diesem Artikel stellen wir vor, wie Sie Formularvalidierungsvorgänge in ThinkPHP6 durchführen.

1. Validierungsregeldefinition
In ThinkPHP6 müssen Validierungsregeln im Controller definiert werden. Wir können die Regeln definieren, indem wir ein $validate-Attribut im Controller definieren, wie unten gezeigt:

use thinkValidate;
class UserController extends Controller {
    protected $validate;
    public function __construct(Validate $validate) {
        $this->validate = $validate;
    }

    // 定义验证规则
    protected $rule = [
        'name' => 'require|max:25',
        'email' => 'email',
        'age' => 'number|between:1,120',
    ];
}
Nach dem Login kopieren

Nachdem wir Um die Validierungsregeln zu definieren, können wir die check()-Methode von $validate im Controller verwenden, um die von uns definierten Validierungsregeln auszuführen. Der Verifizierungsvorgang kann implementiert werden, indem die Methode „validate()“ für das Objekt „$request“ im Controller aufgerufen und die Verifizierungsregeln übergeben werden.

public function add(Request $request) {
    $data = $request->param();
    $result = $this->validate($data, $this->rule);
    if ($result !== true) {
        return ['code' => 1, 'msg' => $result];
    }
    // 验证通过,执行添加操作
}
Nach dem Login kopieren

Im obigen Code gibt die Methode $request->param() ein Array zurück, das alle Parameterwerte im Formular enthält. Wir übergeben es zur Überprüfung an die Methode „validate()“. Wenn die Überprüfung fehlschlägt, wird eine Fehlermeldung zurückgegeben. Wenn die Überprüfung erfolgreich ist, wird der Additionsvorgang direkt ausgeführt.

3. Benutzerdefinierte Fehlermeldungen

In der tatsächlichen Entwicklung müssen wir möglicherweise benutzerdefinierte Fehlermeldungen für einige Regeln festlegen. Dies kann durch die Verwendung der message()-Methode in den Verifizierungsregeln erreicht werden.

protected $rule = [
    'name' => 'require|max:25',
    'email' => 'email',
    'age' => 'number|between:1,120',
];

protected $message = [
    'name.require' => '用户名必填',
    'name.max' => '用户名最多不能超过25个字符',
    'email.email' => '邮箱格式错误',
    'age.number' => '年龄必须是数字',
    'age.between' => '年龄必须在1~120之间',
];
Nach dem Login kopieren

Durch die Verwendung der message()-Methode von $validate im Controller können wir die Fehlermeldung der Regel anpassen. Zum Beispiel:

$result = $this->validate($data, $this->rule, $this->message);
Nach dem Login kopieren

4. Batch-Verifizierung

Wenn wir mehrere Formulare überprüfen müssen, können wir die Batch()-Methode von $validate verwenden, um eine Batch-Verifizierung durchzuführen. Beispiel:

public function verify(Request $request) {
    $data = $request->param();
    $rule = [
        'name' => 'require|max:25',
        'email' => 'email',
        'age' => 'number|between:1,120',
    ];
    $message = [
        'name.require' => '用户名必填',
        'name.max' => '用户名最多不能超过25个字符',
        'email.email' => '邮箱格式错误',
        'age.number' => '年龄必须是数字',
        'age.between' => '年龄必须在1~120之间',
    ];
    $result = $this->validate($data, $rule, $message, true);
    if ($result !== true) {
        return ['code' => 1, 'msg' => $result];
    }
    // 验证通过,执行相关操作
}
Nach dem Login kopieren
Im obigen Code ist der vierte Parameter der $validate-Methode wahr, was bedeutet, dass die Stapelüberprüfung aktiviert ist. Nachdem Sie die Stapelüberprüfung aktiviert haben, können Sie mehrere Formularüberprüfungsregeln festlegen, um alle Fehlermeldungen zurückzugeben, wenn die Überprüfung fehlschlägt.

Zusammenfassung:

In ThinkPHP6 werden Validierungsregeln durch die Definition des Attributs $validate im Controller definiert, die Formularvalidierung erfolgt durch Aufruf der Methode „validate()“ für das Objekt „$request“ und benutzerdefinierte Fehlermeldungen können über die Nachricht erstellt werden( ) Methodeneinstellungen. Gleichzeitig kann eine Stapelüberprüfung über die Methode „batch()“ erreicht werden. Diese Vorgänge sind sehr einfach und werden häufig verwendet, und wir müssen sie in der tatsächlichen Entwicklung beherrschen.

Das obige ist der detaillierte Inhalt vonWie führe ich eine Formularvalidierung in ThinkPHP6 durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage