ThinkPHP は、MVC モデルに基づいたオープンソースの PHP フレームワークで、中国で最も広く使用されているフレームワークの 1 つであり、私もよく使用するフレームワークです。 ThinkPHP を使用してプロジェクトを開発する場合、多くの場合、データの合法性と整合性を確保するために、ユーザーが送信したデータを検証する必要があります。 ThinkPHP の自動検証メカニズムは、非常に便利で高速な検証方法を提供し、データ検証作業をより簡単に完了できるようにします。この記事では、ThinkPHP 自動検証の変更機能について説明します。
1. ThinkPHP 自動検証の概要
ThinkPHP 自動検証は、フレームワークに組み込まれた一連の検証メカニズムであり、実行データと組み合わせてモデルに検証ルールとエラー プロンプトを設定できます。実際のシナリオでの検証。自動検証を使用すると、面倒な手動検証プロセスを回避し、開発効率を向上させることができます。同時に、データが不正な場合、自動検証によってエラー情報が直接返されるため、エラー処理コードが削減されます。
ThinkPHP 自動検証の基本的な使用法は次のとおりです:
protected $_validate = array( // 验证用户名是否合法 array('username','require','用户名不能为空!'), array('username','','该用户名已被注册',0,'unique'), array('username','/^[\w\-\x{4e00}-\x{9fa5}]{2,16}$/','用户名不合法!',0,'regex'), // 验证邮箱是否合法 array('email','require','电子邮箱不能为空!'), array('email','','该邮箱已被注册',0,'unique'), array('email','email','电子邮箱格式不正确!',0,'regex'), // 验证密码是否合法 array('password','require','密码不能为空!'), array('password','/^[\S]{6,32}$/','密码格式不正确!',0,'regex'), );
public function register(){ if(IS_POST){ $user = D('User'); if(!$user->create()){ $this->ajaxReturn(array('status'=>0,'msg'=>$user->getError())); }else{ $user->add(); $this->ajaxReturn(array('status'=>1,'msg'=>'注册成功!')); } } }
上記のコードでは、データ検証に $user->create()
を使用します。検証が失敗した場合は、## を使用します。 # $user->getError()エラー情報を取得し、フロントエンド ページに返します。検証が成功すると、データがデータベースに追加されます。
password を検証せずにデータベースの
username フィールドと
email フィールドを変更する場合は、次のコードを使用できます:
public function update(){ if(IS_POST){ $user = D('User'); $data = array( 'id' => $_POST['id'], 'username' => $_POST['username'], 'email' => $_POST['email'], ); if(!$user->create($data, 2)){ $this->ajaxReturn(array('status'=>0,'msg'=>$user->getError())); }else{ $user->save(); $this->ajaxReturn(array('status'=>1,'msg'=>'更新成功!')); } } }
2 を渡しました。このように、
create() メソッドでは、フレームワークは
username と
email のみを検証し、他のフィールドは検証しません。
以上がThinkPHP自動検証の修正機能について議論するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。