ユーザーを作成して更新するときにYiiに基づいてWebアプリケーションにパスワードリピートフィールドを設定します。私が両方のフィールドを必要とするようにする場合、更新時には、これらのフィールドを空白にしておくか(パスワードは同じになります)、新しいパスワードを入力して確認してください。どのように私はそれを点けますか?Yiiパスワードリピートフィールド
答えて
まずアップ、あなたは、モデル内の新しい属性(この例では、我々ははをrepeatpasswordそれを呼び出す)を作成する必要があります。
class MyModel extends CActiveRecord{
public $repeatpassword;
...
次に、あなたはそれを確実にするためのルールを定義する必要があり、既存のあなたにマッチしますパスワード属性:新しいモデルが作成されたときに
public function rules() {
return array(
array('password', 'length', 'max'=>250),
array('repeatpassword', 'compare', 'compareAttribute'=>'password', 'message'=>"Passwords don't match"),
...
);
}
は今、モデルがパスワードと一致属性repeatpasswordない限り検証しません。あなたが言及したように、は新しいレコードを作成しますが、の新しいレコードを作成しますが、アップデートで一致するパスワードを検証したくないです。あなたのモデルを宣言するときに今やるために残されているすべてが、ある
...
array('repeatpassword', 'compare', 'compareAttribute'=>'password', 'message'=>"Passwords don't match",'on'=>'create'),
...
:この機能を作成するために、我々は、単に上で見たようが追加parmanterを持っているルールをrepeatpassword変更model scenarios
を使用することができます関数を作成するために、使用します。代わりに、通常の
$model = new MyModel('create');
:
をユーザが後でパスワードを更新しようとしている場合は、現在の設定に関する1つの問題があります。しかしそれ以外は、よく見える。 – acorncom
よくあるのは、更新している場合は、ユーザーにパスワードを2回入力するようにしてもよいでしょう。とにかく($ model = new MyModel( 'create');) –
YiiがARモデルを作成するたびに、デフォルトであるupdateとしてsceario nameを使用することができます。あなたのモデルは '$ model = new MyModel;' –
- 1. Yii 1とYii 2
- 2. Yiiカスタムモデルエラー
- 3. のYii:
- 4. Yiiブログチュートリアルクエリ
- 5. yiiモーダルボックスフォームバリデーション
- 6. Yiiフレームワークダイアログボックス
- 7. Yiiレイジーローディング
- 8. Yii ClientScript
- 9. AjaxController yii
- 10. yiiフレームワーク:URLルーティング
- 11. yiiコンソールアプリケーションのレンダリング
- 12. はYiiのプロジェクト
- 13. のYiiカスタムウィジェット、ローダエラー
- 14. ComposerとのYii
- 15. Yiiのレンダーフロー
- 16. レイアウトでログインフォームYII
- 17. Yii 2とjQuery
- 18. YiiのDropbox
- 19. YiiのRESTfulサーバーデザイン
- 20. YiiマルチモデルフォームのactionUpdate()
- 21. はYiiの
- 22. Yii。コントローラのHTML。
- 23. のYii 2インストールエラー
- 24. yiiのオートコンプリートウィジェット
- 25. YiiフレームワークとStruts2
- 26. Unity3dとYii webserivce
- 27. Yiiのフレームワーク -
- 28. のYii - 関係
- 29. Yii Bootstrap Extension Gridview
- 30. Yii CGridView Filter
http://www.yiiframework.com/wiki/277/model-password-confirmation-field/ – Stu