4

私は広く検索し、本のすべてのトリックを試しましたが、CakePHP アプリケーションで単純なパスワード確認検証を実行することはまだできません。次のようなカスタム検証ルールを作成しようとしました:

'passwordequal' => array('rule' => 'checkpasswords' , 'message' => 'Passwords Do Not Match')

次に、「checkpasswords」を次のように定義します。

public function checkpasswords(){

    if(strcmp($this->data['User']['new_password'],$this->data['User']['confirm_password']) == 0 )
    {
        return true;
    }
    return false;
}

「new_password」と「confirm_password」はパスワード入力フィールドです。これはうまくいきませんでした。次に、「confirm_password」をハッシュしたものを試しました。それもうまくいきませんでした。標準の CakePHP ルールの 1 つであると思われる「notempty」など、検証されていない他の「ルール」もあります。誰でも助けてください。この質問が何度か聞かれたことは知っていますが、それらの解決策はどれもうまくいきませんでした. CakePHP のドキュメントもあまり役に立ちませんでした。

4

2 に答える 2

0

モデルが正しく読み込まれておらず、動的に生成されたモデルを使用しているようです。

Cake は pw を自動的にハッシュしなくなったため、2.x でパスワードを比較することは、任意の 2 つのフィールドを比較することに他なりません。

検証メソッドが実行されていることを確認できますか。特に、単純なことが機能していない場合notEmptyはそうではないようです。

于 2013-06-22T00:01:59.833 に答える