如何确定在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
}
答案 0 :(得分:-1)
按照定义的顺序评估规则。在您的问题中,订单将是必需的,custom_rule然后是valid_email。
任何特定字段的验证在返回FALSE的第一个规则处停止。因此,在您的示例中,如果需要传递但custom_rule失败,则不会执行valid_email。
如果特定字段没有错误,则所有规则都运行并测试正常。