Codeigniter doğrulama yardım

1 Cevap php

Kullanıcıların 4 açılan listeleri değerlerine dayalı talep / run sorguları oluşturmak bir sistem yazıyorum. Listeleri dinamik bir dizi faktöre göre oluşturulan, ancak bu noktada, ben CodeIgniter'ın doğrulama sınıfları yerleşik kullanarak giriş doğrularken sorun yaşıyorum. Ben sıra dışı şeyler olduğunu düşünüyorum ve ben codeigniter sitesinde bakarak denedim, ama ben kendimi açma düşünüyorum.

Benim görüşüme (/ pano / dashboard_index.php) de, ben aşağıdaki kod bloğu var:

<?=form_open('dashboard/dashboard_add');?>
        <select ... name='selMetric'>
        <select ... name='selPeriod'>
        <select ... name='selSpan'>
        <select ... name='selTactic'>
        <input type="submit" name="submit_new_query" value="Add New Graph" class="minbutton" ></input>
<?=form_close();?>

Sonra benim denetleyicisi, ben şu 2 yöntem vardır:

function index() {

        $this->load->helper(array('form', 'url'));
        $this->load->library('validation');

        //population of $data

        $this->load->tile('dashboard/dashboard_index', $data);

    }

function dashboard_add()
    {
        $rules['selMetric'] = "callback_sel_check";
        $rules['selPeriod'] = "callback_sel_check";
        $rules['selSpan'] = "callback_sel_check";
        $rules['selTactic'] = "callback_sel_check";
        $this->validation->set_rules($rules);

        $fields['selMetric'] = "Metric";
        $fields['selPeriod'] = "Time Period";
        $fields['selSpan'] = "Time Span";
        $fields['selTactic'] = "Tactic";
        $this->validation->set_fields($fields);

        if ($this->validation->run() == false) {
            $this->index();
        } 
        else {
            //do stuff with validation information
        }
    }

İşte mesele bu. Ben şeyler doğru doğrulamak için alabilirsiniz, ama ben hataların sayısı için, ben olsun

Unable to access an error message corresponding to your field name.

her şey için hata mesajı olarak. Ben $ kuralları ve yanlış yerde $ alanlar şeyler var benim konuyu düşünüyorum, ama ben bir kaç permütasyonlarını denedim ve ben onu yanlış alıyorum. Ben şeyler koymak doğru yere bazı tavsiyeler almak umuyordum.

1 Cevap

Eğer işlev adını (sel_check Aşağıdaki örnekte) eşleşen bir mesaj tuşu ile doğrulama geri arama işlevleri hata iletileri ayarlıyorsunuz? Geri arama fonksiyonu sel_check, sonra da $this->validation->set_message de sel_check başvurmak zorunda adlı Yani, eğer. Sizin arama işlevleri böyle bir şey (. Biraz sözde kodu affet Senin doğrulama fonksiyonları aslında ne olduğunu bilmiyorum) bakmak gerekir:

function sel_check($var) {
    if ($var == 'something') {
        $this->validation->set_message('sel_check', 'The %s field can not be the word "something"');
        return FALSE;
    } else {
        return TRUE;
    }
}

Belgeleri:

Hata mesajı $this->validation->set_message fonksiyonu kullanılarak kurulmuştur. Sadece mesaj tuşu (ilk parametre), işlev adı ile eşleşmelidir unutmayın.

Ayrıca dokümantasyon sayfanın üst kısmında belirtildiği gibi, kullandığınız doğrulama kütüphanesi onaylanmaz ve kullanımı form_validation library teşvik edilmektedir.