首先回调验证调用,然后调用所需的验证。我想先调用必要的验证。
我的set_validation函数代码:
public function set_validation()
{
$this->form_validation->set_rules('from', 'Ended Date', 'required|callback_compareDates');
}
答案 0 :(得分:2)
为了改变执行顺序,您需要修改/system/libraries/Form_validation.php
来自功能
protected function _prepare_rules($rules)
{
...
...
return array_merge($callbacks, $new_rules);
}
更改
return array_merge($callbacks, $new_rules);
要强>
return array_merge($new_rules, $callbacks);
或强>
如果不修改核心,你必须在更多的回调函数上创建,该函数执行规则required
的功能,如下所示
function required($str)
{
if(!is_array($str) ? (empty($str) === FALSE): (trim($str) !== ''))
{
$this->form_validation->set_message('from', 'Required error message');
return false
}
return true;
}
并在您的控制器中
public function set_validation()
{
$this->form_validation->set_rules('from', 'Ended Date', 'callback_required|callback_compareDates');
}