6

Şu anda Form Doğrulama sınıfını (Codeigniter'da) ve ayar kurallarını kullanıyorum.Codeigniter'da, üçüncü bir parametreyi geri çağrıya nasıl geçireceksiniz (form doğrulaması)?

Bu iki parametre (codeigniter.com/user_guide/libraries/form_validation.html) ile bu gibi çalışır: Üçüncü parametresi hakkında

$this->form_validation->set_rules('username', 'Username', 'callback_test[abc]'); 

Ama ne? Ve dördüncü ... Mümkün mü? Sistem formu doğrulama sınıfı uzatılmadan değil,

cevap

12

O '' resmi değil ama

Böl tarafından parametre çalışır

$this->form_validation->set_rules('article_big_image','Gambar Besar','callback_check_picture[article_big_image,edit]'); 

function check_picture($image,$param){ 
    $param = preg_split('/,/', $param); 
    $field = $param[0]; 
    $action = $param[1]; 
    echo $field.$action; 
} 
+0

harika bir tane. teşekkür ederim – Limon

0

. Bunun nasıl elde edileceği hakkında bilgi için bu article'a bir göz atın.

Alternatif kullanarak geri arama işlevi içinde yazılan değişkenleri erişebilir: size yardımcı olmayabilir veya

$this->input->post('field_name'); 

.

+0

Teşekkür yapılan çalışması gerekir (daha sonra nasıl çalışır) ancak öğrenmek için hayal kırıklığına biraz 'callback_test gibi bunu yapmak için kolay bir yolu yoktur [ abc def ghi] '. – Dacobah

0
ı aşağıda yaptığım gibi gibi daha alanlar için daha çok parametre için Diziyi kullanabilirsiniz

:

$error = array(

       array(
       'field' => 'check', // the field name will come here 
       'label' => 'Check', 
       'rules' => 'required|here you can put the callback Function' 
       ) 
     ); 
-1

    $this->form_validation->set_rules('article_big_image','Gambar','callback_check_picture[article_big_image,edit]'); 
    function check_picture($image,$param){ 
     $param = explode(',', $param); 
     $field = isset($param[0])?$param[0]:''; 
     $action = isset($param[1])?$param[1]:''; 
     echo $field.$action; 
    } 
+0

Başka bir cevap yazmak yerine başka bir cevabı düzenleyebilir, teşekkür ederim. – Clay

-2
|callback_handle_is_unique_value_combinations[val1,val2]daha

210, public function callback_handle_is_unique_value_combinations($str, $field) { $fields = explode(',', $field); $val1 = $fields[0]; $val2 = $fields[1];

ve sonra da cponarisons

İlgili konular