長さが3から12の間である事を確認します。登録シナリオでは、パスワードとパスワード2は一致する必要があります。ログインシナリオでは、パスワードは認証されなければなりません。注意:シナリオベースでの属性への代入は1.0.2から利用可能です。モデルインスタンスが作成した後、多くの場合は属性値にユーザからの入力値を代入する必要があります。これは以下のように一括代入を使うと容易に行えます。このプロパティ値が利用されます。下記の方法を使用する必要があります。すべてのエントリを一括代入します。これは、下記の代入と同等です。safeAttributesメソッドの戻り値と、指定されたシナリオによって決定されます。デフォルトでは、CFormModelのすべてのパブリックメンバプロパティが安全と返されます。CActiveRecordでは、プライマリキーを除いたテーブルのカラムすべてが安全と返されます。このメソッドをオーバーライドして、安全な属性をシナリオによって制限することができます。使わないので、以下のようにして制限を加えます。);}より正確には、safeAttributesメソッドの戻り値は以下のような構造です。すべてのシナリオで同じ安全な属性のセットを使う)、戻り値は単純な文字列でもかまいません。...'安全でない属性にデータを代入するには、以下のように個々に代入式を書く必要があります。成功したかどうかを示す値を返します。コールした時点で、バリデーションは自動的に動作します。CModel::validate()を呼ぶ際に、シナリオパラメータを指定することができます。指定されたシナリオに当てはまるバリデーションルールのみが実行されます。指定されたシナリオ名を含むものです。オプションが設定されていないルールのみが実行されます。以下の評価式を実行して、ユーザ登録時のバリデーションをおこうなうことができます。scenarioプロパティはバージョン1.0.4から利用可能です。validationメソッドはどのルールがチェックされるかどうかをこのプロパティによって決定します。バージョン1.0.2と1.0.3では、シナリオベースのバリデーションを実行する際に以下のようにする必要があります。$model->validate('register');バリデーションルールはフォームモデルクラスで以下のように宣言できます。そのほかの二つのシナリオはregisterシナリオの場合のみ適用されます。シナリオベースのバリデーションはバージョン1.0.1から利用可能です。使用する事ができます。個別の属性か全ての属性に対して使用する事が出来ます。必要となる事が度々あります。フィールドに入力するかを伝えます。結びついたモデルの中で定めた方がより柔軟で便利なことが多いでしょう。単純に属性の名前をラベルとして返します。オーバーライドする事でカスタマイズ可能です。力強いフォームの作成を私達にもたらします。