cakephp多选验证

时间:2010-09-21 09:30:28

标签: cakephp validation

我正在使用CakePHP,我有类似的东西:

产品-------> PRODUCT_CATEGORY< ---------- CATEGORY

所以一个产品可以有'n'个类别,反之亦然。 问题是我想验证产品,以便至少有一个类别。由于我使用Form助手并且CakePHP的验证功能已经到达:

class Product extends AppModel {
    var $name = 'Product';
    var $validate = array(
        'category_id' => array(
            'rule' => array('multiple', array('min' => 1)),
            'message' => 'You have to choose at least one category'
        )
    );
}

但它没有用,有什么想法吗?

2 个答案:

答案 0 :(得分:0)

你尝试过NOTEMPTY规则吗?我假设类别列表是复选框格式,rite ..默认情况下,category_id如果为空。我能想到的唯一逻辑是,如果没有检查,那么就抛出错误信息。

如果我错了,请纠正我.. :)

答案 1 :(得分:0)

我认为您不应该对category_id进行验证,而是使用Category(模型的名称)。

如果这仍然不起作用,那么你应该在SO上找到这个问题的解决方案:HABTM form validation in CakePHP 或者看看这篇文章: http://nuts-and-bolts-of-cakephp.com/2008/10/16/how-to-validate-habtm-data/