【问题标题】:'formnovalidate' not working CakePHP 3'formnovalidate' 不工作 CakePHP 3
【发布时间】:2016-07-20 16:23:12
【问题描述】:

我正在使用 CakePHP 3,我需要两个相同形式的按钮,一个用于取消,另一个用于发送数据,为了实现这一点,我为取消按钮设置了一个特定的名称,并在控制器中查找它时数据通过POST接收。

我的看法是这样的:

<div class="pacientes form large-9 medium-8 columns content">
    <?= $this->Form->create($variable) ?>
    <fieldset>
        // Some inputs
    </fieldset>
    <?= $this->Form->button(__d('menu', 'send')) ?>
    <?= $this->Form->button(__d('menu', 'cancel'), ['name' => 'cancelSubmit']) ?>    
    <?= $this->Form->end() ?>    
</div>

控制器相关代码:

public function add()
{
    // Some code
    if ($this->request->is('post')) {
        if(isset($this->request->data['cancelSubmit'])){
            return $this->redirect($this->referer());
        }            
        // More code
    }
    // A bit more code
}

问题在于验证,如果表单有一些必需的输入,取消按钮不起作用,因为它会触发表单验证并显示一条消息,告诉该字段不能为空。

我尝试添加

`formnovalidate` => true

选项(如docs 中所述)以多种方式指向cancel 按钮,但它不起作用。

目标是让提交按钮发送数据(带验证)和取消按钮返回上一页(不验证)。任何人都知道如何做到这一点以及为什么“formnovalidate”不起作用?我做错什么了吗?

非常感谢

【问题讨论】:

    标签: php html validation cakephp button


    【解决方案1】:

    与其让取消按钮提交表单,不如将其设置为指向要重定向到的页面的链接。

    【讨论】:

    猜你喜欢
    • 2020-02-21
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 2017-09-18
    • 2015-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多