我準備一些登記表(簡單),並在我的模型我準備了一些驗證電子郵件字段:CakePHP的isUnique設置不起作用
'email' => array(
'mail' => array(
'rule' => array('email', true),
'required' => false,
'message' => 'Not correct e-mail!'),
'unique' => array(
'rule' => 'isUnique',
'message' => 'E-mail was registered!'))
但規則isUnique設置不起作用。
除了我在MySQL領域的電子郵件更改爲獨特的,但仍然無法正常工作。
我使用CakePHP 2.3.7
問題是,當我們使用翻譯與模型的行爲。
查詢:
SELECT COUNT(DISTINCT(`User`.`id`)) AS count FROM `sometable`.`users` AS `User` INNER JOIN `sometable`.`i18n` AS `I18nModel` ON (`User`.`id` = `I18nModel`.`foreign_key` AND `I18nModel`.`model` = 'User' AND `I18nModel`.`locale` = 'pl') WHERE `User`.`email` = '[email protected]'
現場電子郵件未翻譯。
isUnique設置始終是有效的,即使郵件被註冊 – kicaj
是,規則(「電子郵件」,真)做工不錯:/ – kicaj
檢查SQL日誌 - 如果從用戶的SELECT COUNT(*)沒有查詢其中email =「你輸入的文本」 - 很可能規則沒有被正確定義。 – AD7six