在cakephp中验证textarea

在cakephp中验证textarea,cakephp,cakephp-2.0,cakephp-2.1,Cakephp,Cakephp 2.0,Cakephp 2.1,我想验证textarea是否为非空!但这段代码不起作用,也没有显示来自模型的验证错误消息!我的代码如下: } 请帮助我在cakephp中验证textarea!欢迎任何建议 您的自定义验证规则始终返回true。验证失败时,应返回false: public function validateAddress() { if(empty($this->data[$this->alias]['address'])) { //debug('hi'); re

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

}


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

您的自定义验证规则始终返回true。验证失败时,应返回false:

public function validateAddress() {
    if(empty($this->data[$this->alias]['address'])) {
        //debug('hi');
        return false;
    }
    return true;
}
也就是说,对于这样一个简单的规则,您应该使用核心验证规则notempty:


您的自定义验证规则始终返回true。验证失败时,应返回false:

public function validateAddress() {
    if(empty($this->data[$this->alias]['address'])) {
        //debug('hi');
        return false;
    }
    return true;
}
也就是说,对于这样一个简单的规则,您应该使用核心验证规则notempty:

你总是回归真实。因此,它总是有效的。请尝试以下操作:

public function validateAddress() {
    if(empty($this->data[$this->alias]['address'])) {
        debug('hi');
        return false;
    }
    return true;
}
你总是回归真实。因此,它总是有效的。请尝试以下操作:

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

您的答案是正确的,但都缺少$check参数。每个验证函数的第一个参数都是$check param。此参数是一个数组,唯一的键是要检查的字段,因此在您的示例中:$check['address']。因此,您不需要使用$this->data来检查自定义验证方法所针对的字段-它仍然是正确的,但没有意义。如果验证需要根据另一个字段验证要检查的字段,则应使用$data Class属性。您的回答是正确的,但都缺少$check参数。每个验证函数的第一个参数都是$check param。此参数是一个数组,唯一的键是要检查的字段,因此在您的示例中:$check['address']。因此,您不需要使用$this->data来检查自定义验证方法所针对的字段-它仍然是正确的,但没有意义。如果验证要求根据另一个字段验证要检查的字段,则应使用$data Class属性。