【发布时间】:2014-05-20 20:59:21
【问题描述】:
我有两个输入字段供用户输入年份范围。如果用户没有输入任何内容,页面将运行默认设置。如果用户输入其中一个字段,则必须同时输入另一个字段才能通过验证。
我还将规则保存为数组并放入 application/config/form_validation.php。我该怎么做?
【问题讨论】:
标签: forms codeigniter validation
我有两个输入字段供用户输入年份范围。如果用户没有输入任何内容,页面将运行默认设置。如果用户输入其中一个字段,则必须同时输入另一个字段才能通过验证。
我还将规则保存为数组并放入 application/config/form_validation.php。我该怎么做?
【问题讨论】:
标签: forms codeigniter validation
您需要进行自定义检查。请参阅有关CallBacks on the CI Form Validation page 的信息。因此,您将为字段一设置调用 bak。在回调函数中,您将执行您的规则并返回 TRUE 或 FALSE。
【讨论】:
只需将您的表单验证放在 if strlen($_POST['field_1'])>0 或 if isset($_POST['field_1']) 语句中,以便它仅在 field_1 中有值时运行。
if(isset($_POST['field_1'])){
$this->form_validation->set_rules('field_1', 'Field 1', '');
$this->form_validation->set_rules('field_2', 'Field 2', 'required');
if (!$this->form_validation->run()) {
$errors = validation_errors();
} else {
//do your thing
}
}
把它放在你的控制器中。
【讨论】: