我使用codeigniter几个月了,现在我遇到了一些问题。我有一个带有几个输入字段的简单表单。比如名字,地址,电话,电话网络提供商。所以我设置了必要的规则,名称和地址,但电话和网络是可选的。痛苦来了。如果在电话字段中输入了一些东西,我想设置所需的网络规则。我可以用JS来做,但这不是重点。我也想要服务器端检查。有人知道如何在更多的编码器环境中做到这一点吗?
干杯!
在设置表单验证规则的控制器中,执行如下操作:
if ($this->input->post('phone_number') != '') {
$this->form_validation->set_rules('phone_carrier', 'Phone carrier', 'required');
}
这样,phone_carrier的规则只有在提交电话号码时才会被设置。您的验证将按照设置规则中的定义进行。
这样行吗?
这是一种常见的情况,很容易实现:只需提供电话号码规则,但不指定为"必需"。
你可以用一些新的级联规则来修改表单验证模块,但是为什么不直接自己做必要的检查呢?