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