2

ユーザーが自分のアカウントを編集できるようにしたいのですが、新しいパスワードを指定した場合は更新します。

スペルが正しいパスワードであることを確認するために、2 番目のフィールドで同じバリデーターを使用しました。これは新しいユーザーの作成中に機能しますが、編集中に次の問題に直面しました。

パスワード フィールドは空にすることができるため、必須ではありません。パスワードの繰り返しフィールドも空にすることができるため (パスワードを変更したり、パスワード フィールドに入力する必要がないという理由だけで)、パスワードに値がある場合、このフィールドにパスワードを再入力する必要はありません。分野。

空のパスワード フィールド (必須ではない) と必須のパスワード繰り返しフィールドを送信すると、パスワード繰り返しフィールドに入力してくださいというエラーが表示されます。

トークンに値がない場合、同一のバリデーターをチェックするように強制し、空の値を受け入れるにはどうすればよいですか?

4

1 に答える 1

0

最近、私は同じ問題を抱えていました。これが私がしたことです。ADD ユーザー フォームでは、「必須」オプションを指定してパスワードとパスワードの再入力を追加しました。EDIT フォームでは、次の 2 つのことを行いました。

1) フォームをレンダリングする前に、パスワード (およびパスワードの再入力) フィールドが空であることを確認しました。ユーザーをプルしてパスワード フィールドを設定解除する場合。

2) フォームの isValid をチェックする前に EDIT フォームを送信するときは、パスワード フィールドの require オプションを false に変更します。その後、isValid の前に、投稿のパスワード フィールドが空かどうかを確認します。空の場合は、検証のためにフォームに渡す前に、配列からパスワード フィールドを設定解除します。

その結果、パスワード フィールドにコンテンツを送信すると、同一かどうかがチェックされ、検証されます。パスワード値が空の場合、ユーザー更新クエリがパスワード フィールドに触れないため、以前のパスワードが保持されます。

パスワード フィールドに、「古いパスワードを保持するために空のままにしてください」などの小さなメモを追加できます。

お役に立てれば :)

ストヤン

于 2013-03-20T08:32:52.737 に答える