ホームページ > 記事 > PHPフレームワーク > ThinkPHP6 でフォーム検証を実行するにはどうすればよいですか?
ThinkPHP6 は、Web アプリケーションの開発を大幅に簡素化する PHP ベースの MVC フレームワークです。その中でもフォームバリデーションは非常に基本的かつ重要な機能です。この記事では、ThinkPHP6 でフォーム検証操作を実行する方法を紹介します。
1. 検証ルールの定義
ThinkPHP6 では、コントローラで検証ルールを定義する必要があります。以下に示すように、コントローラで $validate 属性を定義することでルールを定義できます:
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', ]; }
2. フォームの検証
検証ルールを定義した後、コントローラーで $validate の check() メソッドを使用して、定義した検証ルールを実行できます。検証操作は、コントローラーの $request オブジェクトで validate() メソッドを呼び出し、検証ルールを渡すことで実装できます。
public function add(Request $request) { $data = $request->param(); $result = $this->validate($data, $this->rule); if ($result !== true) { return ['code' => 1, 'msg' => $result]; } // 验证通过,执行添加操作 }
上記のコードでは、$request->param() メソッドは、フォーム内のすべてのパラメーター値を含む配列を返します。これを検証のために validate() メソッドに渡します。検証に失敗した場合はエラー メッセージが返され、検証に合格した場合は追加操作が直接実行されます。
3. カスタム エラー メッセージ
実際の開発では、一部のルールにカスタム エラー メッセージを設定する必要がある場合がありますが、これは検証ルールで message() メソッドを使用することで実現できます。
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之间', ];
コントローラーで $validate の message() メソッドを使用すると、ルールのエラー メッセージをカスタマイズできます。例:
$result = $this->validate($data, $this->rule, $this->message);
4. バッチ検証
複数のフォームを検証する必要がある場合、$validate のバッチ() メソッドを使用してバッチ検証を行うことができます。例:
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]; } // 验证通过,执行相关操作 }
上記のコードでは、$validate メソッドの 4 番目のパラメーターは true であり、バッチ検証が有効であることを意味します。バッチ検証を有効にした後、検証が失敗した場合にすべてのエラー メッセージを返すように複数のフォーム検証ルールを設定できます。
要約:
ThinkPHP6 では、コントローラーで $validate 属性を定義することによって検証ルールが定義され、$request オブジェクトの validate() メソッドを呼び出すことによってフォーム検証が実行され、message() はカスタム エラー メッセージを設定するメソッドを使用します。同時に、batch() メソッドを通じてバッチ検証を実行できます。これらの操作は非常に基本的でよく使われる操作なので、実際の開発ではしっかりとマスターする必要があります。
以上がThinkPHP6 でフォーム検証を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。