Forms 将多个文本区域作为一个组进行计数的cakephp表单验证

Forms 将多个文本区域作为一个组进行计数的cakephp表单验证,forms,validation,cakephp,Forms,Validation,Cakephp,是否可以同时验证一组表单文本区域?我想检查15个文本区域中至少有5个是空的。有什么建议吗 如果你要否决投票,请解释原因 我读过,但不清楚如何将多个字段项组合在一起,只检查至少5个notEmpty案例 编辑:我使用的是2.3.7版 我实际上没有任何代码可以显示,因为我只是尝试在一个包含许多文本区域的表单上进行数据验证。由于其他问题,我的表单现在无法使用。如果这是唯一的问题,我可以发布所有的代码,但现在它只会混淆问题。我正在寻找如何一起验证一组字段的描述性答案。将验证规则附加到一个文本区域 您可以通

是否可以同时验证一组表单文本区域?我想检查15个文本区域中至少有5个是空的。有什么建议吗

如果你要否决投票,请解释原因

我读过,但不清楚如何将多个字段项组合在一起,只检查至少5个notEmpty案例

编辑:我使用的是2.3.7版

我实际上没有任何代码可以显示,因为我只是尝试在一个包含许多文本区域的表单上进行数据验证。由于其他问题,我的表单现在无法使用。如果这是唯一的问题,我可以发布所有的代码,但现在它只会混淆问题。我正在寻找如何一起验证一组字段的描述性答案。

将验证规则附加到一个文本区域 您可以通过将验证规则附加到任何一个文本区域(例如

class Foo extends AppModel {

    public $validate = array(
        'textarea_1' => array(
            'atLeast5' => array(
                'rule' => array('validate5Textareas'),
                'message' => 'Please put text in at least 5 of the little boxes'
            )
        )
    );

    public function validate5Textareas() {
        $filledTextAreas = 0;

        // adapt this to match the names/logic of the real form
        for ($i = 1; $i <= 15; $i++) {
            if (!empty($this->data[$this->alias]['textarea_' . $i])) {
                $filledTextAreas++;
            }
        }

        return $filledTextAreas >= 5;
    }

}
类Foo扩展了AppModel{
public$validate=array(
'textarea_1'=>数组(
“至少5”=>阵列(
'规则'=>数组('validate5Textareas'),
'消息'=>'请在至少5个小框中输入文本'
)
)
);
公共功能验证E5TextAreas(){
$filledTextAreas=0;
//调整此选项以匹配真实表单的名称/逻辑
对于($i=1;$i数据[$this->alias]['textarea.'$i])){
$filledTextAreas++;
}
}
返回$filledTextAreas>=5;
}
}
$validate
数组定义了一条规则,如果要保存的数据中包含
textarea\u 1
,则调用
validate5Textareas


如果有5个或5个以上的函数包含文本,则函数
validate5Textareas
将返回true,否则返回false。

您应该始终提及您使用的确切cakephp版本。另外,展示一些代码,看看你到目前为止做了什么。(但我没有投你反对票)我明白了。使用一个项目触发函数,以验证其他项目是否正常。谢谢