Heim  >  Artikel  >  PHP-Framework  >  Wie führe ich eine Formularvalidierung in ThinkPHP6 durch?

Wie führe ich eine Formularvalidierung in ThinkPHP6 durch?

WBOY
WBOYOriginal
2023-06-12 09:36:261575Durchsuche

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',
    ];
}

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];
    }
    // 验证通过,执行添加操作
}

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之间',
];

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);

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];
    }
    // 验证通过,执行相关操作
}

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!

Stellungnahme:
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