【问题标题】:Error when leaving an empty email input field clear清除空电子邮件输入字段时出错
【发布时间】:2016-06-02 06:43:31
【问题描述】:

我在 .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);

如您所见,我已经尝试了所有我研究过的东西,但这个问题仍然困扰着我。我在想的是,电子邮件验证器可能会在我的数据库的另一行中找到空值,它可能类似于此错误。有什么办法可以解决吗?

【问题讨论】:

  • 在 db 表 email 字段中是否有 UNIQUE 索引?
  • 不,它没有任何约束,也可以为NULL。 (顺便说一下,我的数据库是在 PostegreSQL 中管理的)
  • 确保你的表中没有这样的 buildRules public function buildRules(RulesChecker $rules) { $rules-&gt;add($rules-&gt;isUnique(['email'])); return $rules; }
  • 这就是问题所在。非常感谢!
  • @JacekBBudzyñski 请添加它作为答案,否则应该关闭问题。

标签: php html cakephp cakephp-3.0


【解决方案1】:

确保你的表中没有这样的 buildRules

public function buildRules(RulesChecker $rules) { 

    $rules->add($rules->isUnique(['email'])); 
    return $rules; 

}

【讨论】:

    猜你喜欢
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    • 2016-05-19
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    相关资源
    最近更新 更多