`
禹爸爸
  • 浏览: 87461 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

CodeIgniter类库之Validation Class

 
阅读更多

在进行BS编程时,我们时常需要对客户提交的数据进行验证。每种脚本语言都有一套自己的验证模式,CodeIgnite也提供了一套相当好用的类库 -- Validation Class。

和使用其他类库一样,在使用Validation Class之前需要将其加载。

$this->load->library("validation");

加载之后我们就可以使用$this->validation对其进行引用了。有些朋友会问了:“它怎么知道我要验证哪些数据,以及按何规则进行验证呢?”这正是我们下面要说的。

刚刚加载的Validation Class作不了任何事情,即便是调用它的run方法,其返回值始终是FALSE,因为我们并没有给它指定验证规则。CodeIgniter预定义了一些规则引用。

规则

参数

说明

举例

required 必填字段  
matches 与指定的参数相匹配 matches[form_item]
min_length 指定最小长度 min_length[6]
max_length 指定最大长度 max_length[12]
exact_length 指定数值精度 exact_length[4]
alpha 输入必须是字母字符  
alpha_numeric 输入必须是字母数字字符  
alpha_dash 输入必须是字母字符,或是下划张和减号  
numeric 输入必须是纯数字字符  
valid_email 输入必须是有效的电子邮件地址  
valid_ip 输入必须是有效的IP地址  

假设有一个填写用户注册信息的页面需要验证,此页面上有一个名为user的输入框,一个名为password的密码输入框和一个名为confirm的密码确认框可以,我们可以如下定义验证规则:

$rule['user'] = "reguired";
$rule['password'] = "required|min_length[6]";
$rule['confirm'] = "required|matches[password]";
$this->validation->set_rules($rule);

定义好验证规则之后,我们就可以调用其run方法,来进行数据验证了。

if ($this->validation->run() == FALSE) {
//验证失败
}
else {
//验证成功
}

使用$this->validation->error_stromg可以得到验证失败后的提示信息。

上面讲到的都是利用CodeIgniter事先定义好的验证规则,假如说我们想自定义验证规则应该如何做呢?这个也很简单。我们只需要自己编写一个验证函数,并将其指定给validation即可。

//自定义的验证用户名的函数,注意函数名不要加“callback_”
function username_check($str)
{
if ($str == "admin") {
$this->validation->set_message("username_check", 'The %s field can not be the word "admin"');
retrun FALSE;
}
else {
TRUE;
}
}
 
 
$rule['user'] = "callback_username_check"; //验证函数名前要加“callback_”
$this->validation->set_rules($tule);

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    codeigniter 的模板类库及日志类库

    在CodeIgniter中,模板类库和日志类库是两个非常重要的组件,它们分别用于视图处理和错误日志记录。 首先,让我们详细探讨CodeIgniter的模板类库。模板类库允许开发者更灵活地管理视图,提高代码的组织性和可维护性...

    【共享】codeigniter配置类库

    配置类库是CodeIgniter的核心部分之一,它允许开发者在应用的生命周期内定义和改变各种设置。这个类库主要包含以下功能: 1. **加载配置文件**:CodeIgniter支持以`.php`格式的配置文件,通常位于`application/...

    codeigniter日志类库

    日志类库是CodeIgniter框架中的一个重要组成部分,它允许开发者记录应用程序运行过程中的事件和错误,以便于调试和后期分析。在本文中,我们将深入探讨CodeIgniter的日志类库,了解其工作原理、使用方法以及如何...

    Codeigniter无限分类类库

    在CodeIgniter中实现无限分类,通常会用到特制的类库。 这篇博文(https://baiyuxiong.iteye.com/blog/815247)可能介绍了一个专为CodeIgniter设计的无限分类类库,帮助开发者轻松处理复杂的分类关系。这个类库可能...

    codeigniter_1.7.1_类库

    提供codeigniter_1.7.1_类库供广大的CI学习或开发者参考。

    CodeIgniter辅助函数和类库的使用

    3. **表单验证类库**:提供数据验证规则,如`$this->form_validation->run()`执行验证,`set_rules()`设置验证规则,`set_message()`自定义错误消息,有助于确保用户输入的数据质量。 4. **图像处理类库**:允许对...

    Codeigniter一级分类类库

    在CodeIgniter中,自定义类库可以放在`application/libraries`目录下。创建一个名为`Cate.php`的文件,这个文件将包含一级分类类库的代码。在类库中,我们需要定义一个名为`Cate`的类,并继承`CI_Library`基类,以...

    PHP基于Codeigniter第三方登录类库

    / Codeigniter的oauth登录类库 Following sites supported: china/国内网站: 163登录 奇虎360登录 豆瓣登录 QQ登录 人人登录 新浪微博登录 English/国外 bitbucket dropbox facebook flickr google linkedin ...

    CodeIgniter辅助之第三方类库third_party用法分析

    在CodeIgniter中,`third_party`目录是专门设计用来存放第三方类库的,这些类库可以增强或扩展框架的默认功能。通过这个目录,开发者能够方便地集成各种开源工具和库,如模板引擎、支付网关API等。 在本例中,我们...

    PHP框架之CodeIgniter留言板实例

    PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter留言板实例PHP框架之CodeIgniter...

    CI中使用其他类库解决方法参考

    在CodeIgniter (CI) 框架中,开发人员经常会遇到需要引入和使用第三方类库的情况。例如,PEAR (PHP Extension and Application Repository) 是一个广泛使用的PHP代码库,其中包含了大量的功能模块,如数据库抽象、...

    codeigniter年、月、周、日排行类库

    在“codeigniter年、月、周、日排行类库”中,我们关注的是一个特定的类库,这个类库扩展了CodeIgniter的内置功能,帮助开发者轻松地处理日期和时间相关的统计,例如按年、月、周、日进行数据排行。 首先,让我们...

    CodeIgniter3中文手册

    类库参考部分详细介绍了CodeIgniter提供的各种类库,这些类库涵盖从网络通信到电子邮件处理等多个方面,极大方便了开发者在项目中直接使用。数据库参考部分则包括了关于CodeIgniter数据库访问类库的使用指南,这个...

    使用CodeIgniter的类库做图片上传

    下面将详细介绍如何使用CodeIgniter框架提供的类库来实现图片上传功能。 首先,我们需要了解上传文件的通用流程,通常包括以下步骤: 1. 创建一个允许用户上传文件的HTML表单。 2. 用户提交表单后,文件被上传到...

    codeigniter年、月、周、日排行类库【升级版】

    "codeigniter年、月、周、日排行类库【升级版】"是针对CodeIgniter框架开发的一个实用扩展,旨在帮助开发者快速实现数据的按年、月、周、日进行排序和统计的功能。这个类库的升级版可能包含了更多的优化和新特性,以...

    CodeIgniter做的图片站,供大家学习交流

    6. 表单验证:在图片站的上传功能中,CodeIgniter的Form Validation库可以用来验证用户提交的数据,比如检查文件类型、大小等,确保上传的图片符合设定的规则。 7. URI路由:CodeIgniter支持自定义URL路由,使得URL...

    CodeIgniter框架验证码类库文件与用法示例

    CodeIgniter的验证码类库允许开发者自定义生成和验证验证码的过程。在给定的例子中,我们看到一个名为`Authcode.php`的自定义类库文件,它被放置在`application/libraries`目录下。这个类库包含了一个名为`Authcode`...

    CodeIgniter3.1.3 中文手册

    在类库方面,CodeIgniter提供了大量的类库,包括Active Record类库、Email类库、FTP类库、Session类库等,覆盖了开发中的许多常见任务。这些类库都有简洁的接口,逻辑结构清晰,使你的代码更加简洁易懂。 在数据库...

    CodeIgniter3.00中文手册pdf

    在CodeIgniter3.00中文手册中,我们能详细了解到该框架的安装、使用、类库参考、数据库参考和辅助函数参考等相关知识点。 首先,CodeIgniter框架主要目标是简化PHP开发工作,它提供了大量内置的类库,帮助开发者...

Global site tag (gtag.js) - Google Analytics