【问题标题】:Kohana validation - why my custom rule always return true?Kohana 验证 - 为什么我的自定义规则总是返回 true?
【发布时间】:2018-11-21 09:14:35
【问题描述】:

为什么我的自定义规则总是返回 true? 我的控制器:

class Controller_Users extends Controller {
    public function action_func() {
        if ($_POST) {
            $validation = Validation::factory($_POST);
            $validation->rule('field', 'Test::func', array(':value'));
            $check = $validation->check(); // always true
        }
    }
}

还有类测试:

class Test {
    static public function func($value) {
        return false;
    }
}

明确指出 - 错误。但->check() 返回真。为什么?以及如何解决?

【问题讨论】:

  • 您可能需要class Test extends ORM 代替?
  • 不,这不是模型。

标签: php kohana


【解决方案1】:

因为你需要使用$validation->error()

class Controller_Users extends Controller {
    public function action_func() {
        if ($_POST) {
            $validation = Validation::factory($_POST);
            $validation->label('field','Some label')
            $validation->rule('field', 'Test::func', array(':value',':validation'));
            $check = $validation->check(); // always true
        }
    }
}

和类测试:

class Test {
    static public function func($value, $validation) {
        $validation->error('field','Some error desc');
        return false;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多