Concrete5 验证不适用于单个页面

Concrete5 validation not working on a single page

我正在尝试在单个页面上验证表单。以下是我尝试过的方法,但 $validation->test() 似乎不起作用。它应该在验证 first_name 字段后重定向到另一个页面。我卡在这个 url: http://localhost/mysite/index.php/buy/process/。我正在使用 5.6.x。不确定我做错了什么。

public function process() {
    $validation = Loader::helper('validation/form');
    $validation->setData($this->post());
    $validation->addRequired($this->post('first_name'), 'First Name must not be empty');
    if ($validation->test()) {
        ....
        ....
        $this->redirect('/buy/step2');
    } else {
        $errorArray = $validation->getError()->getList();
        $this->set('errorArray', $errorArray);
    }
}

从视图调用此函数:

<form enctype="multipart/form-data" id="buy" class="buy-form" method="post" action="<?php echo $this->action('process')?>">.....</form>

我不得不更换

$validation->addRequired($this->post('first_name'), 'First Name must not be empty');

$validation->addRequired('first_name', 'First Name must not be empty');

做到了。