我想允許用戶將電子郵件和電話留在寄存器功能上。我也想要添加任何電子郵件或電話號碼。獨一無二。 但是,構建規則中的isUnique函數正在阻止它,因爲它看到空白字段已存在。cakephp 3構建規則,允許檢查數據是否唯一併允許爲空
public function buildRules(RulesChecker $rules)
{
$rules->add($rules->isUnique(['username']));
$rules->add($rules->isUnique(['email']));
$rules->add($rules->isUnique(['phone']));
return $rules;
}
我該如何解決這個問題? 我已經在驗證中嘗試了 - > allowEmpty,但它不起作用。 這些文件中沒有任何內容。具體如此。
使用普通的比較操作符(其獨特的規則一樣)應該永遠是對'NULL'通常比較'NULL'(AFAIK至少在MySQL和Postgres中是這樣),因此沒有發現任何東西,因此唯一的檢查應該通過。對這種行爲進行重新設計雖然有點不好,所以這可能值得對核心進行改進。不管怎樣,你使用的是哪種DBMS?這些表CREATE TABLE語句是什麼樣的?你試圖保存的數據是什麼樣的? – ndm
我用我的sql的myadmin php。該表允許用於輸入的空值。這是最奇怪的事情,但它會允許第一個空值,但之後它不會允許第二個。 –