thinkPHP は自動フォーム検証を実装し、thinkPHP はフォームを実装します
昨夜、上司から自動フォーム検証機能の作成を依頼されました。私は長い間悩みましたが、それを思いつくまでに公式 Web サイトから多くの知識を学びました。とにかく、私自身の結果を共有しましょう。
thinkphp は、Model 基本クラスで自動検証関数と正規表現を定義します。必要なのは、対応するデータベース テーブルのモデル クラスの下に $_validate 属性を確立することだけです。
1. Model の基本クラスを見つけて、 protected $_validate = array(); // 以下の対応するデータ モデル ファイルで定義することを確認します。
2、
if (md5($verify) != Session::get('verify')) return false;
true を返します;
}
//自動検証
array("title", "require", "タイトルは必須です!"),
array('categoryId', 'require', "カテゴリは必須です!"),
array('content', 'require', "コンテンツは必須です!"),
array('verify', 'require','検証コードが必要です!'),
array('verify', 'CheckVerify', '検証コードエラー!', 0, 'callback')
);
4.パラメータの説明:
検証フィールド: 検証する必要があるフォーム フィールドの名前。このフィールドは必ずしもデータベース フィールドである必要はありませんが、パスワードや検証コードの確認など、フォームの補助フィールドである場合もあります。
検証ルール: 検証のルールは追加のルールと組み合わせる必要があります (必須)。含まれる公式ルールは次のとおりです (自分で追加することもできます)。
'メール' => '/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/',
'url' => '/^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]':+! ]*([^""])*$/',
'通貨' => '/^d+(.d+)?$/',
'数値' => '/^d+$/',
'zip' => '/^[1-9]d{5}$/',
'整数' => '/^[-+]?d+$/',
'double' => '/^[-+]?d+(.d+)?$/',
'english' => '/^[A-Za-z]+$/',
);
条件を検証するには 3 つのルールがあります:
Model::EXISTS_TO_VAILIDATE または 0、フィールドが存在するかどうかを確認します (デフォルト)
Model::MUST_TO_VALIDATE または 1 を検証する必要があります
Model::VALUE_TO_VAILIDATE または 2 値が空でない場合に検証します
追加ルール:
regex 通常の検証。前の検証ルールが正規表現であることを示します。
function は関数検証を使用し、前の検証が関数名であることを示します
;
コールバックはメソッド検証を使用し、検証ルールが Model クラスのメソッドであることを示します。
confirm は、フォーム内の 2 つのフィールドが等しいかどうかを検証します。検証ルールはフィールド名です。
等しいは、この値が前の検証ルールによって定義されているかどうかを検証します。
in は、前の定義が配列であるかどうかを検証します。
unique は、フィールドの現在の値に基づいてデータベースにクエリを実行し、同じ値が存在するかどうかを確認します。
同時に、システムには、このセクションで使用できる、一般的に使用されるいくつかの定期的な検証ルールも組み込まれています。次のものが含まれます。
通貨、数値、これらの検証ルールは直接使用できます
検証時間:(オプション)
01.Model:: MODEL_INSERT または新しいデータを追加するときに検証します
02.Model::MODEL_UPDATE または 2 データ編集時に検証します
03.Model:: MODEL_BOTH または 3 すべての場合に検証します (デフォルト)
5. 公式例:
コードをコピーします
コードは次のとおりです:
protected $_validate = array(
array('verify','require','検証コードが必要です!'), //デフォルトでは、検証に正規表現が使用されます
array(name,'','アカウント名はすでに存在します!',0,'unique',1), // 追加時に名前フィールドが一意であるかどうかを確認します
array('value',array(1,2,3),'値の範囲が正しくありません!',2,'in'), // 値が空でない場合に、値が範囲内にあるかどうかを判断します
array('repassword','password','パスワードが間違っていることを確認します',0,'confirm'), // 確認パスワードがパスワードと一致するかどうかを確認します
array('password','checkPwd','パスワード形式が正しくありません',0,'function')// パスワード形式を検証するカスタム関数
);
上司の要件を満たすかどうかはわかりませんが、それでも可能です。 !コード、ケース、快適さを一晩かけて探しました。 !

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

繊維はPhp8.1で導入され、同時処理機能が改善されました。 1)繊維は、コルーチンと同様の軽量の並行性モデルです。 2)開発者がタスクの実行フローを手動で制御できるようにし、I/O集約型タスクの処理に適しています。 3)繊維を使用すると、より効率的で応答性の高いコードを書き込むことができます。

PHPコミュニティは、開発者の成長を支援するための豊富なリソースとサポートを提供します。 1)リソースには、公式のドキュメント、チュートリアル、ブログ、LaravelやSymfonyなどのオープンソースプロジェクトが含まれます。 2)StackOverFlow、Reddit、およびSlackチャネルを通じてサポートを取得できます。 3)開発動向は、RFCに従うことで学ぶことができます。 4)コミュニティへの統合は、積極的な参加、コード共有への貢献、および学習共有への貢献を通じて達成できます。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

WebStorm Mac版
便利なJavaScript開発ツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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