0

登録フォームでは、パスワード フィールドとパスワードの確認フィールドを使用しました。このデータを使用した後は、更新できません。モデル

public function rules()
    {
            // NOTE: you should only define rules for those attributes that
            return array(
                    array('name, password', 'required'),
                    array('password', 'compare', 'compareAttribute'=>'confirm_password'), 
                    array('name', 'length', 'max'=>55),
                    // The following rule is used by search().
                    // Please remove those attributes that should not be searched.
                    array('id, name', 'safe', 'on'=>'search'),
            );
    }

index.php からユーザー モデルを更新しようとしています

`$post= User::model()->findByPk(1); $post->name='Abcdef'; $post->password='newpassword'; $post->save();`

新しいデータが更新されていませんか?解決したら?

4

2 に答える 2

1

が設定されていないため、更新は機能しませんconfirmpassword。更新時にパスワードが必要ない場合は、パスワードのシナリオを含めます。それ以外の場合は、常にチェックされます。

     public function rules()
     {
        // NOTE: you should only define rules for those attributes that
        return array(
                array('name', 'required'),
                array('password', 'required','on'=>'create'),
                array('password', 'compare', 'compareAttribute'=>'confirmpassword','on'=>'create'),
                array('name', 'length', 'max'=>55),
                // The following rule is used by search().
                // Please remove those attributes that should not be searched.
                array('id, name', 'safe', 'on'=>'search'),
        );
于 2013-01-02T07:47:26.470 に答える
-1
    public $confirmpassword;

    public function rules()
    {
            // NOTE: you should only define rules for those attributes that
            return array(
                    array('name, password, confirmpassword', 'required'),
                    array('password', 'compare', 'compareAttribute'=>'confirmpassword'), 
                    array('name', 'length', 'max'=>55),
                    // The following rule is used by search().
                    // Please remove those attributes that should not be searched.
                    array('id, name', 'safe', 'on'=>'search'),
            );
    }
于 2013-01-02T06:17:13.227 に答える