Heim > PHP-Framework > Denken Sie an PHP > So verwenden Sie ThinkPHP6 zur Implementierung der Formularvalidierung

So verwenden Sie ThinkPHP6 zur Implementierung der Formularvalidierung

WBOY
Freigeben: 2023-06-20 12:01:48
Original
1477 Leute haben es durchsucht

Mit der Entwicklung des Internets ist die Formularvalidierung zu einem wichtigen Bestandteil der Webentwicklung geworden. Ohne einen wirksamen Mechanismus zur Formularvalidierung werden die vom Benutzer eingegebenen Daten aufgrund von Format- oder Logikfehlern nicht vom System akzeptiert, was große Auswirkungen auf das gesamte Benutzererlebnis und die Sicherheit des Systems haben wird. ThinkPHP, eines der am häufigsten verwendeten Frameworks in der PHP-Entwicklung, bietet außerdem einen sehr praktischen und anpassbaren Formularvalidierungsmechanismus. In diesem Artikel wird erläutert, wie Sie mit ThinkPHP6 die Formularvalidierung implementieren.

1. Erstellen Sie einen neuen Controller

Erstellen Sie zunächst eine Controller-Datei in ThinkPHP6. Beispielsweise können wir eine UserController.php-Datei erstellen. In diesem Controller werden wir eine Funktion implementieren, um die allgemeinen Informationen des Benutzers zu aktualisieren und die Formularvalidierung zu verwenden.

2. Schreiben Sie das Datenmodell

Als nächstes müssen wir eine neue User.php-Datei in der Modelldatei erstellen, um das Modell zu speichern, das der Datentabelle des Benutzers entspricht. In dieser Datei können wir die entsprechenden Feldtypen und Datenvalidierungsregeln definieren, wie unten gezeigt:

namespace appmodel;

use thinkModel;

class User extends Model
{
    // 定义模型对应数据表
    protected $table = 'user';

    // 定义数据表字段对应的验证规则
    protected $rule = [
        'username' => 'require|length:6,20|unique:user',
        'password' => 'require|alphaDash|confirm',
        'email'    => 'require|email|unique:user',
        'mobile'   => 'mobile|unique:user'
    ];

    // 定义验证错误信息
    protected $message = [
        'username.require' => '用户名不能为空',
        'username.length'  => '用户名长度为6-20个字符',
        'username.unique'  => '该用户名已存在',
        'password.require' => '密码不能为空',
        'password.alphaDash'  => '密码只能是字母、数字、下划线和破折号',
        'password.confirm' => '两次输入密码不一致',
        'email.require'    => '邮箱不能为空',
        'email.email'      => '邮箱格式不正确',
        'email.unique'     => '该邮箱已存在',
        'mobile.mobile'    => '手机号格式不正确',
        'mobile.unique'    => '该手机号已存在'
    ];
}
Nach dem Login kopieren

In diesem Modell definieren wir zuerst den Tabellennamen und definieren die Validierungsregeln und Validierungsregeln, die den Feldern der Datentabelle entsprechen Fehlermeldung. Diese Regeln und Informationen werden im Controller verwendet, um die Gültigkeit der Daten zu überprüfen.

3. Schreiben Sie den Controller

Als nächstes empfangen Sie die Daten im Controller und rufen die Funktion „validate()“ auf, um die Daten zu überprüfen. Speichern Sie die Daten nach erfolgreicher Überprüfung in der Datenbank.

namespace appcontroller;

use appmodelUser;
use thinkacadeRequest;

class UserController extends Base
{
    // 用户更新一般信息
    public function update()
    {
        // 接收数据并校验
        $data = Request::only(['username', 'password', 'email', 'mobile']);
        $validate =     hinkacadeValidate::rule([
            'username' => 'require|length:6,20|unique:user',
            'password' => 'require|alphaDash|confirm',
            'email'    => 'require|email|unique:user',
            'mobile'   => 'mobile|unique:user'
        ])->message([
            'username.require' => '用户名不能为空',
            'username.length'  => '用户名长度为6-20个字符',
            'username.unique'  => '该用户名已存在',
            'password.require' => '密码不能为空',
            'password.alphaDash'  => '密码只能是字母、数字、下划线和破折号',
            'password.confirm' => '两次输入密码不一致',
            'email.require'    => '邮箱不能为空',
            'email.email'      => '邮箱格式不正确',
            'email.unique'     => '该邮箱已存在',
            'mobile.mobile'    => '手机号格式不正确',
            'mobile.unique'    => '该手机号已存在'
        ]);
        if (!$validate->check($data)) {
            return json([
                'code' => -1,
                'msg'  => $validate->getError(),
                'data' => []
            ]);
        }

        // 保存数据至数据库
        $user = new User($data);
        $user->save();

        return json([
            'code' => 0,
            'msg'  => '保存成功',
            'data' => []
        ]);
    }
}
Nach dem Login kopieren

Im obigen Controller verwenden wir die Fassade, um Daten zu empfangen und zu überprüfen. Da wir hier nicht das zuvor definierte Benutzermodell verwenden, werden die Datenvalidierungsregeln und Fehlermeldungen in der Funktion „validate()“ definiert. Wenn die Überprüfung fehlschlägt, können wir die entsprechende Fehlermeldung zurückgeben. Wenn die Überprüfung erfolgreich ist, speichern wir die Daten in der Datenbank und senden eine Erfolgsmeldung zurück.

4. Zusammenfassung

Das Obige ist der detaillierte Prozess der Verwendung von ThinkPHP6 zur Implementierung der Formularüberprüfung. In der tatsächlichen Entwicklung ist die Formularvalidierung eine sehr wichtige und häufige Funktion. Eine angemessene Formularvalidierung kann die Benutzererfahrung und Sicherheit des Systems verbessern. ThinkPHP6 bietet einen sehr praktischen und anpassbaren Mechanismus zur Formularüberprüfung. Wir können entsprechende Anpassungen entsprechend den tatsächlichen Entwicklungsanforderungen vornehmen, um eine effizientere und flexiblere Formularüberprüfung zu erreichen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie ThinkPHP6 zur Implementierung der Formularvalidierung. 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