ホームページ >バックエンド開発 >PHPチュートリアル >thinkPHP は自動フォーム検証を実装し、thinkPHP は Forms_PHP チュートリアルを実装します
昨夜、上司から自動フォーム検証機能の作成を依頼されました。私は長い間悩みましたが、それを思いつくまでに公式 Web サイトから多くの知識を学びました。とにかく、私自身の結果を共有しましょう。
thinkphp は、Model 基本クラスで自動検証関数と正規表現を定義します。必要なのは、対応するデータベース テーブルのモデル クラスの下に $_validate 属性を確立することだけです。
1. Model の基本クラスを見つけて、 protected $_validate = array(); // 以下の対応するデータ モデル ファイルで定義することを確認します。
2、
true を返します;
}
//自動検証
4.パラメータの説明:
検証フィールド: 検証する必要があるフォーム フィールドの名前。このフィールドは必ずしもデータベース フィールドである必要はありませんが、パスワードや検証コードの確認など、フォームの補助フィールドである場合もあります。
検証ルール: 検証のルールは追加のルールと組み合わせる必要があります (必須)。含まれる公式ルールは次のとおりです (自分で追加することもできます)。
条件を検証するには 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. 公式例:
コードをコピーします
コードは次のとおりです:
上司の要件を満たすかどうかはわかりませんが、それでも可能です。 !コード、ケース、快適さを一晩かけて探しました。 !