CodeIgniter - 表单验证

CodeIgniter - 表单验证 首页 / Codeigniter入门教程 / CodeIgniter - 表单验证

验证是构建Web应用程序时的重要过程。它确保无涯教程获取的数据正确且有效地存储或处理。

Form验证

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

<html>
 
   <head> 
      <title>My Form</title> 
   </head>
	
   <body>
      <form action="" method="">
         <?php echo validation_errors(); ?>  
         <?php echo form_open('form'); ?>  
         <h5>Name</h5> 
         <input type="text" name="name" value="" size="50" />  
         <div><input type="submit" value="Submit" /></div>  
      </form>  
   </body>
	
</html>

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

<html>
 
   <head> 
      <title>My Form</title>
   </head> 
	
   <body>  
      <h3>Your form was successfully submitted!</h3>  
      <p><?php echo anchor('form', 'Try it again!'); ?></p>  
   </body>
	
</html>

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

<?php
  
   class Form extends CI_Controller { 
	
      public function index() { 
         /* 加载 form helper 辅助类 */
         $this->load->helper(array('form'));
			
         /* 加载form验证库*/
         $this->load->library('form_validation');
			
         /* 为表单中的名称字段设置验证规则 */
         $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。根据您的网站,此URL可能有所不同。

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

它将产生以下屏幕-

Validation Form

已经在控制器中添加了一个验证-提交表单之前,名称为必填字段。因此,如果您在名称字段中未输入任何内容的情况下单击提交按钮,则将要求您在提交之前输入名称,如下面的屏幕所示。

Not Validated Successfully

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

Validated Successfully

验证规则

RuleParameterRemarkExample

required

No如果表单元素为空,则返回FALSE。

matches

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

regex_match

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

differs

Yes如果表单元素与参数中的元素相同,则返回FALSE。differs[form_item]

is_unique

Yes如果表单元素对于参数中的字段名称不是唯一的,则返回FALSE。 is_unique[table.field]

min_length

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

max_length

Yes如果表单元素长于参数值,则返回FALSE。max_length[12]

exact_length

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

greater_than

Yes如果表单元素小于或等于参数值或非数字,则返回FALSE。greater_than[8]

greater_than_equal_to

Yes如果表单元素小于参数值或非数字,则返回FALSE。greater_than_equal_to[8]

less_than

Yes如果表单元素大于或等于参数值或非数字,则返回FALSE。less_than[8]

less_than_equal_to

Yes如果表单元素大于参数值或非数字,则返回FALSE。less_than_equal_to[8]

in_list

Yes如果表单元素不在预定列表中,则返回FALSE。in_list[red,blue,green]

alpha

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

alpha_numeric

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

alpha_numeric_spaces

No如果表单元素包含字母数字字符或空格以外的其他内容,则返回FALSE。

alpha_dash

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

numeric

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

integer

No如果表单元素包含非整数,则返回FALSE。

decimal

No如果表单元素包含除十进制数字之外的任何其他内容,则返回FALSE。

is_natural

No如果form元素包含非自然数- 0、1、2、3等,则返回FALSE。

is_natural_no_zero

No如果form元素包含自然数以外的任何内容,但不包含零-1、2、3等,则返回FALSE。

valid_url

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

valid_email

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

valid_emails

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

valid_ip

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

valid_base64

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Web协议详解与抓包实战 -〔陶辉〕

Kafka核心源码解读 -〔胡夕〕

TensorFlow 2项目进阶实战 -〔彭靖田〕

Vim 实用技巧必知必会 -〔吴咏炜〕

手机摄影 -〔@随你们去〕

程序员的测试课 -〔郑晔〕

现代React Web开发实战 -〔宋一玮〕

超级访谈:对话玉伯 -〔玉伯〕

零基础学Python(2023版) -〔尹会生〕

好记忆不如烂笔头。留下您的足迹吧 :)