CodeIgniter formu doğrulama ve sınıf

2 Cevap php

Ben form doğrulama kütüphanesini kullanarak ve görünümde böyle bir şey var ediyorum

<p>
        <label for="NAME">Name <span class="required">*</span></label>
        <?php echo form_error('NAME'); ?>
        <br /><input id="NAME" type="text" name="NAME" class="" value="<?php echo set_value('NAME'); ?>"  />
</p>

I'd like to add a class to the input that is dependent on the form error so i could have something like this

<input id="NAME" type="text" name="NAME" class="<?php echo $error;?>" value="<?php echo set_value('NAME'); ?>"

Ben biraz daha karmaşık olurdu fark, ama ben her alanı için özel bir kural geri arama yaratmadan bu istiyorum.

Thanks ~Daniel

2 Cevap

Eğer kullanarak denetleyicisi tüm doğrulama alanları ayarlarsanız:

$this->validation->set_fields()

Eğer aşağıdaki şekilde kullanabilirsiniz olası hata iletileri, erişimi olacaktır:

<input id="NAME" name="NAME" value="<?php echo $this->validation->NAME; ?>" <?php echo (!empty($this->validation->NAME_error)) ? 'class="error"' : ''; ?> />

http://codeigniter.com/user%5Fguide/libraries/validation.html

Açıklamalarda belirttiği gibi, yukarıdaki kod eski doğrulama kütüphanesi başvuruyor. Bu görevi gerçekleştirmek için The new 1.7 yolu olacaktır:

<input id="NAME" name="NAME" value="<?php echo set_value('NAME'); ?>" <?php echo (!empty(form_error('NAME')) ? 'class="error"' : ''; ?> />

Ben sadece fark, hata sınırlayıcı ile bunu yapmanın bir yolu var

$this->form_validation->set_error_delimiters('<br /><span class="error">', '</span>');

Ben bu çok daha kolay hale getirir.

Ama sadece meraktan, giriş sınıfı ile bunu yapmanın bir yolu var mı?