0

我想在 ci 中设置验证规则,以便所有字段都设置为“必需”。我应该为所有字段单独设置验证规则,还是有什么方法可以一次为所有字段设置验证规则?

4

1 回答 1

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'
                  )
            );

$this->form_validation->set_rules($config);

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

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

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

创建规则集

为了将您的规则组织成“集合”,您需要将它们放入“子数组”中。考虑以下示例,其中显示了两组规则。我们随意地将这两条规则称为“注册”和“电子邮件”。你可以为你的规则命名任何你想要的名字:

$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

于 2014-08-25T10:45:19.497 回答