Kohana 3:回调验证

发布于 2024-10-07 21:42:28 字数 707 浏览 7 评论 0原文

注意:此问题仅涉及 Kohana 3.0。 Kohana 3.1 及更高版本以完全不同的方式处理验证回调。

我正在使用回调(ORM)进行验证。这些是我的代码:

class Model_Loja extends ORM {
    // more code goes here!
    protected $_callbacks = array(
        'endereco' => array('endereco_unico')
    );

    public function endereco_unico(Validate $validate, $campo) {
        $resultado = $this->where('endereco', '=', $this->endereco)->find_all();
        if(count($resultado)) {
            return false;
        }
        else {
            return true;
        }
    }
    // more code goes here!

它返回 true 或 false(如果有值,则返回 false),但是当它返回 false 时我如何发送验证消息?

NOTE: This question refers to Kohana 3.0 only. Kohana 3.1 and newer handle validation callbacks in a completely different way.

I'm doing a validation with a callback (ORM). These are my code:

class Model_Loja extends ORM {
    // more code goes here!
    protected $_callbacks = array(
        'endereco' => array('endereco_unico')
    );

    public function endereco_unico(Validate $validate, $campo) {
        $resultado = $this->where('endereco', '=', $this->endereco)->find_all();
        if(count($resultado)) {
            return false;
        }
        else {
            return true;
        }
    }
    // more code goes here!

It's returning true or false (if there is a value, returns false) but how could i send a validation message when it returns false?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岛徒 2024-10-14 21:42:28

如果验证失败,以下验证函数会为该字段设置错误:(

public function endereco_unico(Validate $validate, $campo) {
    if(count($this->where('endereco', '=', $this->endereco)->find_all())) {
        $validate->error($campo, 'endereco_unico');
    }
}

移自问题)

The following validation function sets an error for the field if validation fails:

public function endereco_unico(Validate $validate, $campo) {
    if(count($this->where('endereco', '=', $this->endereco)->find_all())) {
        $validate->error($campo, 'endereco_unico');
    }
}

(Moved from question)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文