我有一个应用程序,允许用户创建表单并为每个字段分配验证(想想http://www.phpform.org/或http://wufoo.com/)。我可以轻松地从数据库中获取每个字段的名称和标签,以及相关验证规则的数组。
比如说,我想为所有用户定义的表单应用“必需”的一揽子规则,我会这样做:
foreach($fields as $field)
{
$this->form_validation->set_rules($field[‘name’], $field[‘label’], ‘required’);
}
现在,问题是我需要用回调替换“required”。为了使回调起作用,我将需要字段的id(因此回调可以使用此id来查找字段的相关验证规则)。如何将此id值提供给回调函数?
答案 0 :(得分:4)
foreach($fields as $field)
{
$this->form_validation->set_rules($field[‘name’], $field[‘label’], "callback__example[$field[‘id‘]]");
}
// your callback... see ~line 589 of Form_validation library
public function _example($str,$id)
{
// do something to $str using $id, return bool
}