开发手册 欢迎您!
软件开发者资料库

CodeIgniter - 表单验证

CodeIgniter表单验证 - 从概述,安装CodeIgniter,应用程序架构,MVC框架,基本概念,配置,使用数据库,库,错误处理,文件上载,发送电子邮件,表单验证,会话管理,Flash数据,Tempdata,Cookie中学习CodeIgniter管理,常用功能,页面缓存,页面重定向,应用程序分析,基准测试,添加JS和CSS,国际化,安全性。

验证是构建Web应用程序时的一个重要过程.它确保我们获得的数据适当且有效地存储或处理. CodeIgniter使这项任务变得非常简单.让我们通过一个简单的例子来理解这个过程.

示例

创建一个视图文件 myform.php 并保存下面在 application/views/myform.php 中对其进行编码.此页面将显示用户可以提交其姓名的表单,我们将验证此页面以确保在提交时不应为空.

           My Form                                            
Name
                     
             

创建一个视图文件 formsuccess.php 并将其保存在 application/views/formsuccess.php 中.如果表格验证成功,将显示此页面.

           My Form               

Your form was successfully submitted!

        

     

创建一个控制器文件 Form.php 并将其保存在 application/controller/Form.php 中.此表单将显示错误,如果未正确验证或重定向到 formsuccess.php 页面.

load->helper(array('form'));         /* Load form validation library */          $this->load->library('form_validation');         /* Set validation rule for name field in the form */          $this->form_validation->set_rules('name', 'Name', 'required');          if ($this->form_validation->run() == FALSE) {          $this->load->view('myform');          }          else {             $this->load->view('formsuccess');          }       }   }?>

application/config/routes.php 中添加以下行.

$route['validation'] = 'Form';

让我们通过在浏览器中访问以下URL来执行此示例.此网址可能因您的网站而异.

http://yoursite.com/index.php/validation

它将产生以下屏幕 :

验证表格

我们在控制器中添加了验证 : 提交表单前,名称是必填字段.因此,如果您单击提交按钮而不在名称字段中输入任何内容,则会在提交之前要求您输入名称,如下面的屏幕所示.

未成功验证

成功输入名称后,您将被重定向到屏幕,如下所示.

验证成功

在上面的示例中,我们使用了所需的规则设置. CodeIgniter中有许多规则,如下所述.

验证规则参考

以下是所有本机规则的列表可以使用 :

规则参数描述示例

required

如果表单元素是,则返回FALSE空.

matches

如果表单元素与参数中的表单元素不匹配,则返回FALSE.匹配[form_item]

regex_match

如果表单元素不匹配,则返回FALSE正则表达式.regex_match [/regex/]

differs

如果表单元素与参数中的表单元素没有差异,则返回FALSE .不同[form_item]

is_unique

如果表单元素对参数中的表和字段名称不唯一,则返回FALSE.注意 : 此规则要求启用查询生成器才能工作.is_unique [table.field]

min_length

如果表单元素短于参数值,则返回FALSE.min_length [3]

max_length

如果表单元素是,则返回FALSE比参数值长.max_length [12]

exact_length

如果表单元素不完全是参数值,则返回FALSE.exact_length [8]

greater_than

如果表单元素小于或等于参数值或不是数字,则返回FALSE.greater_than [8]

greater_than_equal_to

如果表单元素小于参数值,则返回FALSE,或者不是数字.greater_than_equal_to [8]

less_than

如果表单元素大于或等于参数值或不是数字,则返回FALSE.less_than [8]

less_than_equal_to

退货如果表单元素大于参数值,则为FALSE,或者不是数字.less_than_equal_to [8]

in_list

如果表单返回FALSE元素不在预定列表中.in_list [红色,蓝色,绿色]

alpha

如果表单元素包含其他任何内容,则返回FALSE比字母字符.

alph a_numeric

如果表单元素包含除字母数字字符以外的任何内容,则返回FALSE.

alpha_numeric_spaces

如果表单元素包含除字母数字字符或空格以外的任何内容,则返回FALSE.修剪后应使用以避免开头或结尾的空格

alpha_dash

如果表单元素包含除字母数字字符以外的任何内容,则返回FALSE ,下划线或破折号.

numeric

如果表单元素包含非数字字符,则返回FALSE.

integer

如果表单元素包含除整数之外的任何内容,则返回FALSE.

decimal

如果表单元素包含十进制数以外的任何内容,则返回FALSE.

is_natural

如果表单返回FALSE元素包含除一个自然数字和负数; 0,1,2,3等

is_natural_no_zero

如果表单元素包含除自然数之外的任何内容,则返回FALSE,但不是零和负; 1,2,3等

valid_url

如果表单元素不包含有效的URL,则返回FALSE.

valid_email

如果表单元素不包含有效的电子邮件地址,则返回FALSE.

valid_emails

如果逗号分隔列表中提供的任何值不是有效的电子邮件,则返回FALSE.

valid_ip

如果提供的IP无效,则返回FALSE.接受可选参数'ipv4'或'ipv6'以指定IP格式.

valid_base64

如果提供的字符串包含,则返回FALSE除有效的Base64字符以外的任何其他内容.