2011-11-14 48 views

回答

-2

只是做服务器端对客户端的一个JS验证和PHP验证(或使用CI的表单辅助函数)...无论如何,PHP应该是这个样子:

if ($_POST['cellphone'] == '' OR $_POST['phone' == '') { 
// do stuff like make an notification, alert, etc... and take users back to the form 
} 
+0

我已经在配置文件夹中创建了所有验证的数组。所以我应该怎么做这种类型的验证。 @Shomz –

+0

我们需要一个不是核心的规则php –

+0

@Darshanambaliya你可以问另一个问题。 – Shomz

7

你可以做它为:

 
$this->form_validation->set_rules('phone', 'Your validation message.', 'callback__phone_check'); 

并做好功能:

 
function _phone_check() { 
    //check for phone and cellphone field. 
    //make sure one field is not empty and return accordingly 
} 

希望帮助

+0

我应该在哪里做?鉴于,控制器? –

+0

@ jQuery.PHP.Magento.com应该在你的控制器..!在这里阅读更多:: https://ellislab.com/codeIgniter/user-guide/libraries/form_validation.html#callbacks –

4

只是想用自己的方式抛出一些快速代码片段。我想完成这个任务,而这个问题是我在搜索时首先在谷歌的条目之一。我把灵感来自于其他的答案,在这里就是我所做的这些工作对我来说(因人而异):

$this->form_validation->set_message('contactVerify', 'Either Phone or Email is required'); 
... 
$this->form_validation->set_rules('phone', 'Phone', 'trim|callback_contactVerify[email]|xss_clean'); 
$this->form_validation->set_rules('email', 'Email', 'trim|callback_contactVerify[phone]|valid_email|xss_clean'); 
... 
public function contactVerify($contact, $otherField) { 
    return ($contact != '' || $this->input->post($otherField) != ''); 
} 

由于这是一个很简单的验证功能,我预先设定的错误信息,所以我不必将其设置在验证功能中。我通过方括号将其他字段作为第二个参数传入。

希望这是有用的。

+0

不幸的是,我不认为这工作了。我认为如果规则中不存在“必需”,则不会检查其他规则(为了效率,我假设)。 – twistedpixel

相关问题