如何将set_rule插入到两个字段之一?

时间:2013-09-09 08:44:39

标签: php codeigniter

如果我想要两个输入字段中的一个必须正确填充。然后只有表单被提交,否则它应该显示错误。 我们如何使用codeigniter中的set_ruleform_validation函数来执行此操作。

1 个答案:

答案 0 :(得分:1)

假设(为了本示例的目的),您要验证 EITHER 电子邮件地址电话号码,然后以最简单的形式...... < / p>

// If no email address, phone is required
if ( ! $this->input->post('email')) {
   $this->form_validation->set_rules('phone', 'Phone Number', 'trim|numeric|min_length[11]|required');
} else {
   $this->form_validation->set_rules('phone', 'Phone Number', 'trim|numeric|min_length[11]');
}

// If no phone number, email is required
if ( ! $this->input->post('phone')) {
   $this->form_validation->set_rules('email', 'Email Address', 'trim|valid_email|required');
} else {
   $this->form_validation->set_rules('email', 'Email Address', 'trim|valid_email');
}

...你可能可以整理一下,但这是我认为你想要得到的一般想法。

希望它有所帮助!!