1

アプリケーションにユーザー用のアクティブレコードモデルがあり、このモデルをユーザー登録フォームに再利用したいと考えていました。ユーザー登録フォームには、パスワードやパスワードの確認など、データベースに保存したくないフィールドがいくつかあります(代わりにソルトとハッシュを保存しています)。既存のユーザーアクティブレコードモデルでこれを行う方法はありますか、またはユーザー登録フォーム用に別のフォームモデルを作成する必要がありますか?

4

1 に答える 1

4

モデルで変数を宣言してから、@Danが述べたようにシナリオ属性を使用してそれらのルールを追加できます。

モデルは次のようになります。

class User extends CActiveRecord
{
    public $password_confirm;
    public $password_hash;
    ...

モデルのルールは次のようになります。

array('password, password_confirm', 'required', 'on'=>'register')

また、CCompareValidatorルールなどを使用して、パスワードフィールドが一致することを確認することもできます。ここを参照してください。

于 2011-08-19T19:07:04.327 に答える