CakePHP中的自定义字段验证

时间:2011-01-30 20:12:14

标签: cakephp validation cakephp-1.3

我需要帮助如何为下一个案例制定验证规则......

我的cakephp web表单包含几个动态生成的复选框。最终用户必须至少选择其中一个。

这些复选框都不是db表中的字段。

你能帮我解决一下如何创建验证规则吗?

尝试通过添加类似

的模型来做
var $validate = array(
    'topic' => array(
      'rule' => 'myRule',
      'message' => 'Check on at least one checkbox'
    )
)

function myRule() {
  //just give me false to know it works...
  return false;
}

对于那种情况,如何在这些复选框下面放置错误信息?

tnx in adv!

1 个答案:

答案 0 :(得分:0)

使用CakePHP中的自定义验证规则,如果要调用函数而不是RegEx,它必须是关联数组中的第一个参数,所以它看起来应该是这样的。

var $validate = array(
    'topic' => array(
      'rule' => array('myRule'),
      'message' => 'Check on at least one checkbox'
    )
)

function myRule() {
  //just give me false to know it works...
  return false;
}

此外,如果您想要包含函数参数,您可以将它们作为额外参数放在规则数组中。

var $validate = array(
    'topic' => array(
      'rule' => array('myRule', 10),
      'message' => 'Check on at least one checkbox'
    )
)

function myRule($id) {
if (array_shift($id) = 10) {
    return false;
    }
}

http://book.cakephp.org/view/152/Adding-your-own-Validation-Methods