私はyii2プロジェクトで作業しています。私は電子メールIDが一意でなければならないという点でユーザーモデルを持っています。追加機能で動作しています。しかし、私がレコードを更新するとき、それはユニークな検証をチェックしていません。続きyii2でアップデート中に一意の検証を確認する方法
は私のユーザモデルのコードです:でも、私が試した
public function rules() {
return [
[['first_name', 'last_name', 'address', 'mobile', 'email', 'password_hash', 'role_id'], 'required'],
[['address'], 'string'],
[['role_id'], 'integer'],
[['email'], 'email'],
[['email'], 'unique', 'targetAttribute' => ['email']],
[['created_at', 'updated_at'], 'safe'],
[['first_name', 'last_name', 'email', 'password_hash'], 'string', 'max' => 255],
[['mobile'], 'required','on'=>'create,update'],
//[['mobile'], 'string','max'=>10],
[['mobile'], 'number','numberPattern' => '/^[0-9]{10}$/','message'=>"Mobile must be integer and should not greater then 10 digit"],
[['password_hash'],'string','min'=>6],
//[['mobile'], 'number'],
[['status'], 'string', 'max' => 1,'on'=>'create,update'],
[['role_id'], 'exist', 'skipOnError' => true, 'targetClass' => Roles::className(), 'targetAttribute' => ['role_id' => 'id']],
];
}
:[[ 'メール'] 'ユニーク'、 'targetAttribute' => [ 'メール']、 'オン' => array( 'create'、 'update')]、
しかし、更新機能では一意のルールをチェックしていません。
あなたは 'targetAttribute'を追加する必要はありませんチェックされたものと同じです。なぜそれは動作していないと思いますか? – Bizley
はい更新プログラムのページでまだ動作していないので削除しました – David
再度 - なぜ動作していないと思われますか?あなたは何を期待し、何を得るのかを説明してください。 – Bizley