【问题标题】:javascript validation in cakephp says field which isn't required isn't validcakephp 中的 javascript 验证说不需要的字段无效
【发布时间】:2013-12-13 18:46:09
【问题描述】:

我有一个表格,其中一个输入是:

echo $this->Form->input('email', array('class'=>'formInputRegular halfTd notRequired', 'id'=>'email', 'default'=>'Email'));

此特定模型的电子邮件字段不是必需的。但是,当我尝试提交该输入为空的表单时,会出现自动 javascript 验证,要求我输入一些内容。

该字段的模型中没有规则。数据库中不需要它。它可能曾经是(我不这么认为)并且我已经改变了它,但我已经重新烘焙了这个特定模型/控制器的代码,所以这应该不是问题。

有人知道为什么要启动自动 javascript 验证吗?

【问题讨论】:

  • 您的模型验证和控制器操作是什么样的?另外,您是否尝试过设置 'default' => false?
  • @ebadedude 模型中没有为电子邮件设置验证规则。模型、控制器和视图都已烘焙,并且该字段在数据库中未设置为非空,因此不会自动编写验证规则。还有其他想法吗?
  • 没有看到代码,很难指出任何错误。除了 CakePHP,另一种看待它的方式是,只有两种可能导致您收到验证错误,在 post 之前或 post 之后。如果是在 post 之前,那么有一个 JS 函数对表单提交进行检查。如果是之后,那么您可以生成 $this->request->data 的日志以查看正在提交的内容并检查正在验证的内容。

标签: javascript php validation cakephp


【解决方案1】:

在我看来,这是由 HTML 5 required 属性引起的。这是自 CakePHP 2.3 以来的一个新特性。参考http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#html5-required

你可以通过添加来关闭它

'novalidate' => true

到表格。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    相关资源
    最近更新 更多