CI中的验证规则

时间:2014-08-25 10:13:08

标签: codeigniter codeigniter-form-helper

我想在ci中设置验证规则,以便将所有字段设置为“required”。我应该为所有字段单独设置验证规则,还是可以同时将验证规则设置为所有字段?

1 个答案:

答案 0 :(得分:0)

Codeigniter到验证规则设置了不同的方式

1)单独设置验证规则 例如:

   $this->form_validation->set_rules('username', 'Username', 'required');

2)使用数组(组)设置规则

$config = array(
               array(
                     'field'   => 'username',
                     'label'   => 'Username',
                     'rules'   => 'required'
                  ),
               array(
                     'field'   => 'password',
                     'label'   => 'Password',
                     'rules'   => 'required'
                  ),
               array(
                     'field'   => 'passconf',
                     'label'   => 'Password Confirmation',
                     'rules'   => 'required'
                  ),   
               array(
                     'field'   => 'email',
                     'label'   => 'Email',
                     'rules'   => 'required'
                  )
            );

$这 - > form_validation-> set_rules($配置);

3)将验证规则集保存到配置文件

Form Validation类的一个很好的功能是它允许您在配置文件中存储整个应用程序的所有验证规则。您可以将这些规则组织到" groups"中。当调用匹配的控制器/函数时,可以自动加载这些组,也可以根据需要手动调用每个组。 如何保存规则

要存储验证规则,只需在application / config /文件夹中创建名为form_validation.php的文件即可。在该文件中,您将使用您的规则放置一个名为$ config的数组。如前所示,验证数组将具有以下原型:

创建规则集

为了将规则整理成" set"要求您将它们放入"子数组"。请考虑以下示例,显示两组规则。我们随意地称这两个规则"注册"和"电子邮件"。您可以根据需要为规则命名:

$config = array(
                 'signup' => array(
                                    array(
                                            'field' => 'username',
                                            'label' => 'Username',
                                            'rules' => 'required'
                                         ),
                                    array(
                                            'field' => 'password',
                                            'label' => 'Password',
                                            'rules' => 'required'
                                         ),
                                    ),
                 'email' => array(
                                    array(
                                            'field' => 'emailaddress',
                                            'label' => 'EmailAddress',
                                            'rules' => 'required|valid_email'
                                         ),

                                    )                          
               );

致电特定规则组

为了调用特定组,您将其名称传递给run()函数。例如,要调用注册规则,您将执行此操作

if ($this->form_validation->run('signup') == FALSE)
{
   $this->load->view('myform');
}
else
{
   $this->load->view('formsuccess');
}

你需要更多详细信息,请检查一次

https://ellislab.com/codeigniter/user-guide/libraries/form_validation.html