CI确定激活的规则

时间:2016-08-04 10:08:01

标签: php codeigniter

如何确定在codeigniter中激活特定字段的哪个规则?

$rule = [
        'field' => 'field_name',
        'label' => 'Field Name',
        'rules' => 'required|custom_rule|valid_email'
    ];

我如何检查规则'required'是否已激活,而不是其他2?

编辑: 除了错误消息,因为可以修改错误消息。

编辑: 上面的代码只是一个例子,我的代码需要的是我必须删除数据库中的特定记录。该参数是我能够删除数据库中某些内容的必填字段。但我还需要检查不同表中的内容,这就是客户规则的目的。我只需要能够确定哪个规则被激活。 e.g

if ($activated_rule['required']) {
     //do something
} else if ($activated_rule['custom_rule']) {
     //do a different thing
}

1 个答案:

答案 0 :(得分:-1)

按照定义的顺序评估规则。在您的问题中,订单将是必需的,custom_rule然后是valid_email。

任何特定字段的验证在返回FALSE的第一个规则处停止。因此,在您的示例中,如果需要传递但custom_rule失败,则不会执行valid_email。

如果特定字段没有错误,则所有规则都运行并测试正常。