0

ユーザーがアカウントの電子メールを変更できるようにしています。そうするために、切り替えたい新しいメールを送信するときに、そのメールを一時的なメールとしてデータベースに保存しています。ユーザーが新しいメールに送信された確認メールをクリックすると、元のメールが新しいメールに変わります。「users」テーブルには、「email」列と「temp_email」列があります。ユーザーが「temp_email」列に新しいメールを送信すると、それが「temp_email」列内だけでなく「email」列内でも一意であることを検証したいと思います。

現在、 rules() 関数に次の 2 つの配列があります。

array('temp_email', 'email'),
array('temp_email', 'unique', 'message' => UserModule::t("このユーザーのメール アドレスは既に存在します。"))

一時的な電子メールは電子メール形式でなければならず、他の一時的な電子メールと同じであってはならないと言っています。一時的な電子メールを「電子メール」列の他の電子メールと同じにすることはできないと言って、追加する必要がある 3 番目の配列は何ですか? ありがとうございました!

4

1 に答える 1

0

ルールに追加の属性を追加して、一意のチェックの正確なルールを指定できます

array('temp_email', 'unique',
      'className' => 'User', 'attributeName' => 'email',
      'message'   => "This user's email address already exists."),
于 2015-06-20T08:12:31.153 に答える