1

我想验证 textarea 是否为空!但此代码不起作用,这并没有向我显示来自模型的验证错误消息!我的代码如下,

public $validate = array(
    'address' => array(
        'rule' => array('validateAddress'),
        'message'  => 'Address is required',
    ),
);    

public function validateAddress() {
    if(empty($this->data[$this->alias]['address'])) {
        debug('hi');
        return true;
    }
    return true;
}

}

请帮助我在 cakephp 中进行 textarea 验证!欢迎任何建议!

4

2 回答 2

3

您的自定义验证规则始终返回true. 它应该false在验证失败时返回:

public function validateAddress() {
    if(empty($this->data[$this->alias]['address'])) {
        //debug('hi');
        return false;
    }
    return true;
}

也就是说,对于这样一个简单的规则,您应该使用核心验证规则notempty

public $validate = array(
    'address' => array(
        'rule'    => 'notEmpty',
        'message' => 'Address is required'
    )
);
于 2012-12-04T07:59:55.450 回答
1

你总是回来true。所以它总是会验证。尝试以下操作:

public function validateAddress() {
    if(empty($this->data[$this->alias]['address'])) {
        debug('hi');
        return false;
    }
    return true;
}
于 2012-12-04T08:00:29.703 回答