0

yii フレームワークのルール メソッドについて少し混乱しています。これは、サンプル ブログ アプリケーションのルール関数です。

public function rules()
{
    // NOTE: you should only define rules for those attributes that
    // will receive user inputs.
    return array(
        array('title, content, status, author_id', 'required'),
        array('status, create_time, update_time, author_id', 'numerical', 'integerOnly'=>true),
        array('title', 'length', 'max'=>128),
        array('tags', 'safe'),
        // The following rule is used by search().
        // Please remove those attributes that should not be searched.
        array('id, title, content, tags, status, create_time, update_time, author_id', 'safe', 'on'=>'search'),
    );
}
  • クラスでこのメソッドが必要な理由
  • 効果的な使い方は?
  • それはどこで私たちを助けますか? フォームの検証中???
  • 誰でもそれがどのように機能するかを説明できますか?

前もって感謝します。

4

3 に答える 3

2

YiiはMVCパターンを採用したフレームワークです。M、MVCではModelの略です。つまり、データに関連するすべてのものがModelクラスに配置されているということです。フィールドのタイプ、ルール、リレーション、...ルール、日付に関するものなので、モデルクラスにあります。

特に、Yiiはフォームを作成するときにモデルメソッドを使用します(データ用にフォームが生成されます)。Yiiは、データを検証するときにモデルを使用します。Yiiは、メール、日付、パスワードなどの特定のフィールドを検証する必要がある場合にモデルを使用します。

電子メールの検証ルールを実装する必要がないため、これは役に立ちます。フィールドは数字だけでなければなりませんか?Eメール?デート?URL?モデル全体で一意である必要がありますか?Yiiは私たちにたくさんのバリデーターを提供してくれます。

また、独自のバリデータールールを作成することもできます。

于 2013-01-26T12:42:09.573 に答える
2

これらのルールは、ブール値を返す CModel::validate() メソッドによって適用されます。デフォルトでは、メソッド CActiveRecord::save() は自動的にこの検証を呼び出し、レコードを保存しようとする前に成功することを要求します。

参照: モデル ルールの検証

于 2013-01-25T12:41:17.407 に答える
0

これにより、開発を行ってデータ (ほとんどの場合、「ユーザー データ」) を検証する必要がある場合に、多くの時間とコード行を節約できます。

Yii には優れたドキュメントと wiki が付属しています。上記のリストに加えて、それが何であるか、どのように調理するかを理解するのに役立つリンクをもう1つ追加します.

于 2013-01-27T10:13:55.793 に答える