ホームページ  >  記事  >  バックエンド開発  >  Yii CModel のルール検証ルール [transfer]、yiicmodel_PHP チュートリアル

Yii CModel のルール検証ルール [transfer]、yiicmodel_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:21:02877ブラウズ

Yii CModel のルール検証ルール [翻訳]、yiicmodel

リーリー

事前定義された完全なリスト:
  • boolean : CBool​​eanValidator のエイリアス。プロパティの値が CBool​​eanValidator::trueValue または CBool​​eanValidator::falseValue であることを確認してください。

  • captcha : CCaptchaValidator のエイリアス。特性の値が CAPTCHA によって表示される検証コードと等しいことを確認します。

  • compare : CCompareValidator のエイリアスは、プロパティの値が別のプロパティまたは定数と等しいことを保証します。

  • email : CEmailValidator のエイリアス。属性の値が有効な電子メール アドレスであることを確認します。

  • default : CDefaultValueValidator のエイリアスで、プロパティにデフォルト値を割り当てます。

  • exist : CExistValidator のエイリアス。属性値が指定されたデータ テーブル フィールドに存在することを確認します。

  • file : CFileValidator のエイリアス。属性にアップロードされたファイルの名前が含まれていることを確認します。

  • filter : CFilterValidator のエイリアス。フィルターを使用して属性を変換します。

  • in : CRangeValidator のエイリアス。属性が事前に決定された値リストに表示されるようにします。

  • length : CStringValidator のエイリアス。特性の長さが指定された範囲内にあることを保証します。

  • match : C RegularExpressionValidator のエイリアス。機能が正規表現と一致することを確認します。

  • numerical : CNumberValidator のエイリアス。属性が有効な数値であることを確認します。

  • required : CRequiredValidator のエイリアス。属性が空でないことを確認します。

  • type : CTypeValidator のエイリアス。特性が指定されたデータ型であることを確認します。

  • unique : CUniqueValidator のエイリアス。データ テーブル フィールド内の属性が一意であることを保証します。

  • url : CUrlValidator のエイリアス。機能が有効なパスであることを確認します

yii 検証ルールit カテゴリ: Yii yii ルール検証 cValidator の主な属性属性、builtInValidators、enableClientValidation、メッセージ、on、safe、skipOnError

一般的に使用される属性は、attributes、builtInvalidators、message、および on です

対応する検証クラスは以下の通りです

必須: CRequiredValidator

フィルター: CFilterValidator

一致: C RegularExpressionValidator

メール: CEmailValidator

url: CURLValidator

ユニーク: CUniqueValidator

比較: CCompareValidator

長さ: CStringValidator

: CRangeValidator

数値: CNumberValidator

キャプチャ: CCaptchaValidator

タイプ: CTypeValidator

ファイル: CFileValidator

デフォルト: CDefaultValueValidator

存在: CExistValidator

ブール値: CBool​​eanValidator

日付: CDateValidator

安全: CSafeValidator

安全でない: CUnsafeValidator

1. CRequiredValidator – 必須の値検証属性

requiredValue-混合-必須値

strict-boolean-厳密ですか?

例: array('username', 'required')、空にすることはできません

array('username', 'required', 'requiredValue'=>'lh','message'=> 'usernmae は lh である必要があります')、他の値を入力する場合、この値は lh である必要があります。それでも検証は失敗します

array('username', 'required', 'requiredValue'=>'lh', 'strict'=>true)、厳密な検証のために、'message'=>",'on' を追加することもできます= >これら

2. CFilterValidator フィルター検証属性

フィルター – メソッド名 (ユーザー定義関数の呼び出し)

例:

array('username', 'test') function test() { $username = $this->username; if($username != 'lh'){ $this->addError('username', 'ユーザー名は lh') である必要があります。

このメソッドを使用しても、配列に message=> を書き込むと、指定されたプロンプト情報がテスト内に残ります。つまり、テストのエラー メッセージが優先されます。

3.C RegularExpressionValidator -

通常の検証属性allowEmpty – 空かどうか(デフォルトはtrue)

検証ロジックを反転するかどうか (デフォルトは false) パターン - 正規表現マッチングの例:

// a-z array('username', 'match', 'allowEmpty'=>true, 'pattern'=>'/[a-z]/i','message'=>' 文字である必要があります')、

//一致は a-z ではありません array('username', 'match', 'allowEmpty'=>true, 'not'=>true, 'pattern'=>'/[a-z]/i', 'メッセージ '=>'手紙であってはなりません')、

4. CEmailValidator – 電子メール検証属性:

allowEmpty – 空かどうか

allowName – メールアドレス内の名前を許可するかどうか

checkMx – メールアドレスのMXレコードをチェックするかどうか

checkPort – ポート 25 の電子メール アドレスを確認するかどうか

fullPattern – メールアドレスと名前の一部を検証するための正規表現

パターン – 正規表現、

検証に使用される属性値の例: array('username', 'email', 'message'=>'電子メールアドレスである必要があります', 'pattern'=>'/[a-z]/i') 、

5. CUrlValidator – URL 検証属性:

allowEmpty – 空かどうか

defaultScheme – デフォルトの URI スキーム

パターン – 正規表現

validSchemes – マニフェストは有効な URI スキームであるとみなされる必要があります。

例:

array('ユーザー名', 'URL', 'メッセージ'=>'URLが必要'),

array('username', 'url', 'defaultScheme'=>'http://www.baidu.com'),

6. CUniqueValidator – 一意性検証属性:

allowEmpty – 空かどうか

attributeName – 属性名

caseSensitive – 大文字と小文字を区別します

className – クラス名

基準 – 追加のクエリ基準

例:

array('ユーザー名', '一意', 'メッセージ'=>'レコードが存在します'),

array('username', 'unique', 'caseSensitive'=>false, 'message'=>'レコードが存在します'),

7. CCompareValidator – 検証属性を比較します:

allowEmpty – 空かどうか

compareAttribute – 比較する必要がある属性

compareValue - 比較する値

演算子 – 比較演算子

strict – 厳密な検証 (値と型が等しい必要があります)

例: // 特定の値と比較 array('username', 'compare', 'compareValue'=>'10', 'operator'=>'>', 'message'=>'required 10 フィートより大きい)、

//送信された属性と比較します array('username', 'compare', 'compareAttribute'=& gt;'password', 'operator'=>'>', 'message'=>' である必要がありますパスワードより大きい')、

8. CStringValidator – 文字列検証属性:

allowEmpty – 空かどうか

エンコーディング – エンコーディング

は – 正確な長さ

max – 最大長

min – 最小の長さ

tooLong – 定義値が大きすぎるエラー

tooShort – 最小長の定義エラー

例: array('username', 'length', 'max'=>10, 'min'=>5, 'tooLong'=>'長すぎる', 'tooShort'=>'短すぎる')、

array('username', 'length', 'is'=>5, 'message'=>' 長さは 5' である必要があります),

9. CRangeValidator – 特定の範囲内の属性:

allowEmpty – 空かどうか

not – 元に戻すかどうかの検証ロジック。

range – 配列範囲

strict – 厳密な検証 (型と値が同じである必要があります)

例: array('username', 'in', 'range'=>array(1,2,3,4,5), 'message'=>'must in 1 2 3 4 5'),

array('username', 'in', 'not'=>true, 'range'=>array(1,2,3,4,5), 'message'=>'1 に入れてはいけません2 3 4 5')、

10、CNumberValidator – 数値検証属性:

allowEmpty – 空かどうか

integerOnly – 整数

integerPattern – 整数に一致する正規表現

max – 最大値

min – 最小値

numberPattern – 一致する番号

tooBig – 値が大きすぎる場合のエラーメッセージ

tooSmall – 値が小さすぎる場合のエラーメッセージ

例: array('username', 'numerical', 'integerOnly'=>true, 'message'=>'must be int'),

array('ユーザー名', '数値', 'integerOnly'=>true, 'message'=>'int である必要があります', 'max'=>100, 'min'=>10, 'tooBig '=>'大きすぎます'、'tooSmall'=>'小さすぎます')、

11. CCaptchaValidator – 検証コード検証属性:

allowEmpty – 空かどうか

caseSensitive – 大文字と小文字を区別します

12. CTypeValidator – 型検証属性:

allowEmpty – 空かどうか

dateFormat – 日付が従うべき形式パターン ('MM/dd/yyyy')

datetimeFormat – 日付と時刻が従うべき形式パターン ('MM/dd/yyyy hh:mm')

timeFormat – 時刻が従うべき形式パターン ('hh:mm')

type – タイプ「string」、「integer」、「float」、「array」、「date」、「time」、「datetime」

例: array('username', 'type', 'dateFormat'=>'MM/dd/yyyy', 'type'=>'date'),

13. CFileValidator – ファイル検証属性:

allowEmpty – 空かどうか

maxFiles – ファイルの最大数

maxSize – ファイルの最大サイズ

minSize – 最小値

tooLarge – 大きすぎる場合のエラーメッセージ

tooMany –

が多すぎる場合のエラーメッセージ

tooSmall – 小さすぎるエラーメッセージ

タイプ – 許可されるファイル拡張子

wrongType – 拡張子が間違っている場合に表示されるエラーメッセージ

14. CDefaultValueValidator – デフォルト値属性:

setOnEmpty – 空に設定します

値 – デフォルト値

例: array('username', 'default', 'setOnEmpty'=>true, 'value'=>'lh'),

15. CExistValidator – 属性が存在するかどうか:

allowEmpty = 空かどうか

attributeName – 属性名

className – クラス名

基準 – 標準

16. CBool​​eanValidator – ブール型検証属性:

allowEmpty – 空かどうか

falseValue – エラーステータスの値

厳密 – 厳密な検証

tru​​eValue – 真の状態の値

例: array('username', 'boolean', 'trueValue'=>1, 'falseValue'=>-1, 'message'=>'値は 1 または -1 である必要があります'),

17. CDateValidator – 日付検証属性:

allowEmpty – 空かどうか

format – 日付値が従うべき形式パターン

timestampAttribute – 解析結果を受け取る属性名

例: array('username', 'date', 'format'=>'MM-dd-yyyy','message'=>'MM-dd-yyyyである必要があります'),

Yii ルールのカスタム記述方法

yxmhero1989.blog.163.com/...61864/

yiiで認証コードが生成できない場合の問題は何ですか

この記事では、Yii 検証コードの実装について説明します。これは、インターネット上でも入手できる、著者のアプリケーションのほんの一例です。 1. 作成者はユーザー ログインを使用しているため、次のコードをサイト コントローラーに追加します。 public function action()
{
return array(
// captcha アクションは、連絡先ページに表示される CAPTCHA 画像をレンダリングします
'captcha'=>array (
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF, //背景色
'minLength'=>4, //最短は4桁
'maxLength'=>4, / / 長さは 4 桁です
'transparent'=>true, //このオプションをオフにすると、背景色が表示されます
),
);
}
2.フォーム ファイル (login.php などのファイルを表示):
< div>
< ?php echo $form->labelEx($モデル,'verifyCode');

?>
< >textField($model, 'verifyCode');>

確認コードを入力してください

?php echo $form ->error($model, 'verifyCode'); ?>
< /div>
3. 主に属性フィールドを追加するために、次のコードを追加します。報告された (存在しない属性) public $username;
public $password;
public $verifyCode;
public $rememberMe;
private $_identity; 上記の操作を通じて、実際に検証コードを確認できますが、操作中に、理由 検証が必要であることを指定していないため、LoginForm.php に array('verifyCode','required') を追加して、検証が必要であることを指定します。検証コードを見逃した場合は、以下のようになります:
この記事では yii について説明します。検証コードの実装は、インターネット上でも入手できる、作者のアプリケーションのほんの一例にすぎません。要約すると、Yii 愛好家の助けになれば幸いです。必要としている。 1. 作者はユーザーログインを使用しているので、サイトコントローラーに次のコードを追加します... 残りの全文>>


http://www.bkjia.com/PHPjc/862695.html

tru​​ehttp://www.bkjia.com/PHPjc/862695.html技術記事 Yii CModel のルール検証ルール [翻訳済み]、yiicmodel array (array (username, required)、array (username, length, min =3, max =12)、array (password, Compare, CompareAttribute=password2,...)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。