我在.ctp上有一个表单,它有多个输入字段。其中一个输入字段是type =“email”字段。提交时,该字段对我来说并不重要,我尝试了许多方法允许该字段保持为空但它仍然会让我误认为“此值已在使用中”。 下面是我的输入在页面中的样子,给出错误:
这就是我的输入在.ctp中的样子:
<tr style="height:30px;">
<td style="width: 160px;"><?= 'E-mail' ?></td>
<td>
<?= $this->Form->input('email',['empty' => false, 'label' => false, 'required' => false]); ?>
</td>
<td style="width:75px;"></td>
<td class="edit_hints" style="border-bottom: 1px solid lightgrey;">Completează cu adresa de e-mail a persoanei de contact.</td>
</tr>
这就是我的$ validator的样子:
$validator
->email('email')
->allowEmpty('email')
->requirePresence('email', false);
正如你所看到的,我已经尝试过我所研究的所有内容,这个问题仍然让我感到烦恼。我的想法是,电子邮件验证器可能会在我的数据库中的另一行中找到空值,它可能类似于此错误。有没有办法解决这个问题?
答案 0 :(得分:2)
确保您的表格中没有这样的buildRules
public function buildRules(RulesChecker $rules) {
$rules->add($rules->isUnique(['email']));
return $rules;
}