ThinkPHP は、MVC モデルに基づいたオープンソースの PHP フレームワークで、中國(guó)で最も広く使用されているフレームワークの 1 つであり、私もよく使用するフレームワークです。 ThinkPHP を使用してプロジェクトを開発する場(chǎng)合、多くの場(chǎng)合、データの合法性と整合性を確保するために、ユーザーが送信したデータを検証する必要があります。 ThinkPHP の自動(dòng)検証メカニズムは、非常に便利で高速な検証方法を提供し、データ検証作業(yè)をより簡(jiǎn)単に完了できるようにします。この記事では、ThinkPHP 自動(dòng)検証の変更機(jī)能について説明します。
1. ThinkPHP 自動(dòng)検証の概要
ThinkPHP 自動(dòng)検証は、フレームワークに組み込まれた一連の検証メカニズムであり、実行データと組み合わせてモデルに検証ルールとエラー プロンプトを設(shè)定できます。実際のシナリオでの検証。自動(dòng)検証を使用すると、面倒な手動(dòng)検証プロセスを回避し、開発効率を向上させることができます。同時(shí)に、データが不正な場(chǎng)合、自動(dòng)検証によってエラー情報(bào)が直接返されるため、エラー処理コードが削減されます。
ThinkPHP 自動(dòng)検証の基本的な使用法は次のとおりです:
- モデルで検証ルールとエラー メッセージを定義します:
protected?$_validate?=?array( ????//?驗(yàn)證用戶名是否合法 ????array('username','require','用戶名不能為空!'), ????array('username','','該用戶名已被注冊(cè)',0,'unique'), ????array('username','/^[\w\-\x{4e00}-\x{9fa5}]{2,16}$/','用戶名不合法!',0,'regex'), ????//?驗(yàn)證郵箱是否合法 ????array('email','require','電子郵箱不能為空!'), ????array('email','','該郵箱已被注冊(cè)',0,'unique'), ????array('email','email','電子郵箱格式不正確!',0,'regex'), ????//?驗(yàn)證密碼是否合法 ????array('password','require','密碼不能為空!'), ????array('password','/^[\S]{6,32}$/','密碼格式不正確!',0,'regex'), );
- Inサーバーでのデータ検証の制御:
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'=>'注冊(cè)成功!')); ????????} ????} }
上記のコードでは、データ検証に $user->create()
を使用します。検証が失敗した場(chǎng)合は、## を使用します。 # $user->getError()エラー情報(bào)を取得し、フロントエンド ページに返します。検証が成功すると、データがデータベースに追加されます。
password を検証せずにデータベースの
username フィールドと
email フィールドを変更する場(chǎng)合は、次のコードを使用できます:
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'=>'更新成功!')); ????????} ????} }In上記のコードでは、現(xiàn)在の更新シーンがであることを示す 2 番目のパラメーター
2 を渡しました。このように、
create() メソッドでは、フレームワークは
username と
email のみを検証し、他のフィールドは検証しません。
以上がThinkPHP自動(dòng)検証の修正機(jī)能について議論するの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無(wú)料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版
中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)