小编s3m*_*re8的帖子

如何在Codeigniter中为每个表单域设置自定义错误消息?

我正在尝试使用不同的错误消息设置codeigniter表单.

set_message(rule,msg)正在为整个表单设置一条消息.

我需要:

$this->form_validation->set_rules('name', 'First Name', 'required');
$this->form_validation->set_message('name', 'required', 'Enter your Name');    
$this->form_validation->set_rules('second', 'Variables', 'required');
$this->form_validation->set_message('second', 'required', 
                                    'The Variables are required');
Run Code Online (Sandbox Code Playgroud)

在这种情况下,将%s添加到消息字符串中没有帮助,因为消息必须完全不同.

可能我可以这样做:

调节器

$this->form_validation->set_rules('name', 'Name',
                                  'required|min_length[6]|max_length[12]');
$this->form_validation->set_rules('second', 'Variables',
                                  'required|min_length[3]|max_length[5]');
$this->form_validation->set_message('required', 'required');
$this->form_validation->set_message('min_length', 'short');
$this->form_validation->set_message('max_length', 'long');
Run Code Online (Sandbox Code Playgroud)

视图

switch(form_error('name')) {
    case '<p>required</p>':
        echo 'Enter your Name';
        break;
    case '<p>short</p>':
        echo 'min length 6';
        break;
    case '<p>long</p>':
        echo 'min length 12';
        break;

}

switch(form_error('second')) {
    case '<p>required</p>':
        echo 'The Variables are required';
        break;
    case '<p>short</p>':
        echo 'min length 3';
        break;
    case '<p>long</p>': …
Run Code Online (Sandbox Code Playgroud)

forms codeigniter

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

codeigniter ×1

forms ×1