ホームページ バックエンド開発 PHPチュートリアル ThinkPHP フレームワーク プロジェクト開発トピック - 自動検証

ThinkPHP フレームワーク プロジェクト開発トピック - 自動検証

Jun 13, 2016 pm 01:07 PM
array email model thinkphp validate

ThinkPHP フレームワーク プロジェクト開発トピック -- 自動検証

WEBプロジェクトの開発では、ユーザー登録、ニュース追加、商品管理など、プロジェクトのどのモジュールにもデータを追加する機能があり、フォームを利用してデータの送信やデータの追加を行います。フロントエンドユーザーであってもバックエンド管理者であっても、無効なデータや間違ったデータの入力は避けられないため、プロジェクトではフォームデータの検証が欠かせません。したがって、Web プロジェクトに参加したり、独自に開発したりしたことがある場合は、データを追加するときに、ユーザー名が存在するかどうか、検証コードが正しいかどうか、パスワードが一貫して入力されているかどうか、など、多くのデータ検証を必ず行うことになるでしょう。年齢が数字などの場合、データベースの大量検索や正規表現の記述などの問題は誰にとっても悩みの種です。

ThinkPHP には、モデルのビジネス ルール検証を完了するためのデータ オブジェクトの自動検証および自動完了機能が組み込まれています。ほとんどの場合、データ オブジェクトは、によって送信された $_POST データによって作成されます。形状。システムの自動検証機能を使用する必要がある場合は、Model クラスに $_validate 属性を定義するだけで済みます。

$_validate 属性の検証要素形式:

配列 (検証フィールド、検証ルール、エラープロンプト、検証条件、追加ルール、検証時間)

*検証フィールド: フォームフィールド名 注: このフィールドは必ずしもデータベースフィールドである必要はありませんが、確認パスワードや検証コードなどのフォームの補助フィールドである場合もあります。

*検証ルール: 検証対象のルールは、追加のルールと組み合わせる必要がある場合があります。

組み込みの検証ルール - 必須フィールド、電子メール アドレス、URL アドレス、通貨、数値などの検証ルールは直接使用できます。注: 他の検証ルールがある場合は、独自のメソッド

を作成する必要があります。

*プロンプト メッセージ: 検証失敗のプロンプト メッセージ。

検証条件:

0 または Model::EXISTS_TO_VAILIDATE -- フィールドが存在するかどうかを検証します (デフォルト)

1 または Model::MUST_TO_VALIDATE -- 検証する必要があります

2 または Model::VALUE_TO_VAILIDATE -- 値が空でないことを確認します

追加ルール: 検証ルールと一緒に使用されます

正規表現は検証に正規表現を使用し、以前に定義された検証ルールが正規表現 (デフォルト) であることを示します

関数は関数検証を使用します。前に定義した検証ルールは関数名です。注: システム関数またはカスタム関数

コールバックはメソッド検証を使用します。前に定義した検証ルールは、現在の Model クラスのメソッドです。注: カスタム メソッド

confirm は、フォーム内の 2 つのフィールドが同じであるかどうかを検証します。前に定義した検証ルールはフィールド名

です。

equal は、前の検証ルール

で定義された特定の値と等しいかどうかを検証します。

in 特定の範囲内にあるかどうかを検証します 注: 前に定義した検証ルールは配列

である必要があります

unique システムはフィールドの現在の値に基づいてデータベースにクエリを実行し、同じ値が存在するかどうかを判断します。 注: データベースは

として要求されます。

検証時間:

1 または Model::MODEL_INSERT -- データを追加するときに検証します

2 または Model::MODEL_UPDATE -- データ編集時に検証

3 または Model::MODEL_BOTH -- すべての場合に検証します (デフォルト)

$_validate 属性に慣れたら、例を使用して、特定のデータを検証するときに検証要素を記述する方法を分析する必要があります。

ThinkPHP を学習したことがある方は、マニュアルで自動検証の例をいくつか見たことがあるはずです。ここでは、一般的に使用される例のほとんどを、誰もが学習して使用できるようにまとめます。ここでは言及されていませんが、データの自動検証のすべての方法を改善するためにブレインストーミングを行うことができます。これは継続的に更新されます。

例:

protected $_validate = array(

array('username','require','Username is required!'), // データが空かどうか 注: デフォルトでは、すべての追加と変更が検証されます

array('username','','Username selected!',0,'unique',1), // ユーザー名フィールドを追加するときに、そのフィールドが一意であるかどうかを検証します

array('password','checkPwd','パスワード形式が正しくありません',0,'function'), // パスワード形式は chenkPwd メソッドを使用してカスタマイズできます

array('repassword','password','confirm passwd is unavailable',0,'confirm'), // 確認用パスワードがパスワードと一致するかどうかを検証します

array('sex','array(0,1,2)','性別は 0,1,2',0,'in' である必要があります), // データが範囲内にあるかどうかを確認します範囲

array('age','number','年齢は数値である必要があります'), // データが数値であるかどうかを検証します

array('email','email','メールの形式が正しくありません'), // 組み込みの定期的な確認メール

array('email','/^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+ )*$/','メールの形式が間違っています), // カスタマイズされた定期検証データ

array('mypage','url','個人 URL 形式が正しくありません'), // 組み込みの通常の検証 URL アドレス

array('verify','****','検証コードが正しくありません',0,'equal'), // データが特定の値と等しいかどうかを検証します 注: *** * ランダムな確認コード

にすることができます

array('salary','currency','給与検証が正しくありません','0'), // 組み込みの検証通貨データ

);

ThinkPHP の自動検証機能は、ほぼすべてのデータ検証ニーズを満たすことができるため、ThinkPHP を使用してプロジェクトにデータを追加および検証する場合、自動検証と自動補完を使用することでデータ検証について心配する必要はありません。面倒な質問。オートコンプリート機能については次回説明とまとめを行い、ThinkPHPプロジェクトモジュールの制作やプロジェクト例を順次公開していきますのでよろしくお願いいたします。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

thinkphpプロジェクトの実行方法 thinkphpプロジェクトの実行方法 Apr 09, 2024 pm 05:33 PM

ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

thinkphp にはいくつかのバージョンがあります thinkphp にはいくつかのバージョンがあります Apr 09, 2024 pm 06:09 PM

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

laravelとthinkphpではどちらが優れていますか? laravelとthinkphpではどちらが優れていますか? Apr 09, 2024 pm 03:18 PM

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重点を置いて、一般に Laravel よりもパフォーマンスが優れています。 Laravel は優れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法 開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法 Nov 22, 2023 pm 12:01 PM

「開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法」 インターネット技術の急速な発展に伴い、Web アプリケーションには、多数の同時リクエストと複雑なビジネス ロジックを処理するための要件が​​ますます高まっています。システムのパフォーマンスとユーザー エクスペリエンスを向上させるために、開発者は多くの場合、電子メールの送信、ファイルのアップロードの処理、レポートの生成など、時間のかかる操作を実行するために非同期タスクの使用を検討します。 PHP の分野では、人気のある開発フレームワークとして ThinkPHP フレームワークが、非同期タスクを実装するための便利な方法をいくつか提供しています。

thinkphpのインストール方法 thinkphpのインストール方法 Apr 09, 2024 pm 05:42 PM

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環境を準備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構成します。アプリケーションコードを生成します。アプリケーションを起動し、http://localhost:8000 にアクセスします。

thinkphpのパフォーマンスはどうですか? thinkphpのパフォーマンスはどうですか? Apr 09, 2024 pm 05:24 PM

ThinkPHP は、キャッシュ メカニズム、コードの最適化、並列処理、データベースの最適化などの利点を備えた高性能 PHP フレームワークです。公式パフォーマンステストでは、1秒あたり10,000以上のリクエストを処理できることが示されており、実際のアプリケーションではJD.comやCtripなどの大規模なWebサイトやエンタープライズシステムで広く使用されています。

C# の Array.Sort 関数を使用して配列を並べ替える C# の Array.Sort 関数を使用して配列を並べ替える Nov 18, 2023 am 10:37 AM

タイトル: Array.Sort 関数を使用して C# で配列を並べ替える例 本文: C# では、配列は一般的に使用されるデータ構造であり、多くの場合、配列を並べ替える必要があります。 C# には Array クラスが用意されており、このクラスには配列を簡単に並べ替えるための Sort メソッドがあります。この記事では、C# で Array.Sort 関数を使用して配列を並べ替える方法を示し、具体的なコード例を示します。まず、Array.Sort 関数の基本的な使用法を理解する必要があります。 Array.So

See all articles