2017-05-08 7 views
1

verwenden, wie verwende ich logischen Operator in CodeIgnitor Form ValidierungsregelnCodeIgniter Form Validation Logischer Operator

ich diesen Code habe

$this->form_validation->set_rules('company_name', 'First name', 'trim|required'); 

, die nur ein Feld überprüft. ich habe zwei Feld 1- company_name 2- Benutzername

was ich tun möchte, ist etwas wie diese Rückgabe wahr, wenn beide Felder ausgefüllt sind.

set_rules('company_name', 'Company Name' || 'username', 'User Name', 'trim|required'); (das wird nicht funktionieren)

, wie ich dies bei der Verwendung von CodeIgnitor Formularvalidierung erreiche || Oder Logischer Operator

+0

[http: // stackoverflow.com/questions/8116630/custom-validation-in-php-codeigniter-one-of-two-fields-required](http://stackoverflow.com/questions/8116630/custom-validation-in- php-codeigniter-eins-von-zwei-Felder-erforderlich) – Shihas

Antwort

1

Sie können auch Callback verwenden in Regeln

$this->form_validation->set_rules('company_name', 'First name', 'trim|required|callback_functionName'); 

function functionName(){ 
//do something and check anything here. return true this in any condition. 
} 
0
$this->form_validation->set_rules('company_name', 'First name', 'trim|required'); 
$this->form_validation->set_rules('username', 'User Name', 'trim|required'); 

können Sie wie diese verwenden

+0

Dies erfordert, dass beide Felder ausgefüllt werden müssen. Was ich suche, ist eine Möglichkeit, TRUE zurückzugeben, wenn eines der Felder ausgefüllt ist. nicht beide . Vielen Dank –

0

Sie können einstellen, erhalten mit:

if (!empty($this->input->post('company_name'))) { 
    $this->form_validation->set_rules('company_name', 'Company name', 'trim|required'); 
} else { 
    $this->form_validation->set_rules('username', 'User name', 'trim|required'); 
}