CodeIgniter表单验证和类

时间:2009-11-05 23:03:24

标签: php validation codeigniter

我正在使用表单验证库,在视图中有类似的内容

<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>

我想在输入中添加一个依赖于表单错误的类 所以我可以有这样的东西

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

我意识到它必须要复杂一点,但我想在没有为每个字段创建自定义规则回调的情况下这样做。

由于 〜丹尼尔

2 个答案:

答案 0 :(得分:0)

我刚刚意识到,有一种方法可以使用错误分隔符

来完成此操作
$this->form_validation->set_error_delimiters('<br /><span class="error">', '</span>');

我这让事情变得更容易。

但出于好奇,有没有办法在输入中用类做这个?

答案 1 :(得分:0)

如果您使用以下命令在控制器中设置所有验证字段:

$this->validation->set_fields()

您可以访问任何可能的错误消息,您可以通过以下方式使用这些消息:

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

http://codeigniter.com/user_guide/libraries/validation.html

正如评论中所指出的,上面的代码引用了旧的验证库。 执行此任务的新 1.7 方式为:

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