【发布时间】:2012-08-07 21:15:24
【问题描述】:
我正在尝试验证我的登录表单,并且我的用户名和密码字段有规则。
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');
所以我的 callback_check_database 函数在密码字段上。
所以在我的 check_database 函数中,我有:
$this->form_validation->set_message('check_database', 'Invalid username or password');
return false;
所以我正在设置我想要显示的自定义消息。
在我看来,我想单独显示该 check_database 错误。我不想显示任何其他错误。
这是我尝试过的:
// does not work
<?php echo form_error('check_database'); ?>
// this works
<?php echo form_error('password'); ?>
所以因为它是用于密码字段的,所以它只会在我回显密码错误时显示。但这意味着,由于密码是必填字段,如果我不输入任何内容,它将显示一个错误,指出密码字段是必填的。
有没有办法只显示我设置的自定义错误消息?
【问题讨论】:
-
你在做
callback_check_database而不是check_database -
正确.. 我需要这样做,因为我使用的是我创建的自定义验证方法。 codeigniter.com/user_guide/libraries/…
-
您在询问如何处理 form_validation 上的所有错误,同时设置要求字段的规则。简单的逻辑
don't require the fields将所有内容直接传递给您的回调 -
好吧,我并不是要显示所有错误,而是要查看是否有办法只显示我的 check_database 错误。我猜这是不可能的,但谢谢。
标签: php codeigniter