首页 > 语言 > PHP > 正文

CI框架表单验证实例详解

2024-05-04 23:52:44
字体:
来源:转载
供稿:网友

本文实例讲述了CI框架表单验证的方法。分享给大家供大家参考,具体如下:

1、form头部信息的自动输出函数(view)

<?php $attributes = array('class' => 'email', 'id' => 'myform'); echo form_open('email/send', $attributes); //上面一行代码输出: //<form method="post" accept-charset="utf-8" action="http://example.com/index.php/email/send" id="myform" class="email"/> /* * form_open_multipart() * 函数用法同上,加上了文件上传的信息 上传方式默认为post */?>

2、设置验证规则(controller)

<?php//注意验证规则的变量名必须设置成 config$config = array(        array(           'field'  => 'username',           'label'  => '用户名',           'rules'  => 'required'         ),        array(           'field'  => 'password',           'label'  => '密码',           'rules'  => 'required'         ),        array(           'field'  => 'passconf',           'label'  => '确认密码',           'rules'  => 'required|matches[password]'         ),        array(           'field'  => 'tel',           'label'  => '手机',           'rules'  => 'required|integer|exact_length[11]'),        array(           'field'  => 'email',           'label'  => '邮箱',           'rules'  => 'required|valid_email'         )      );//上面的会自动//单独设置规则$this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[5]|max_length[12]|xss_clean');$this->form_validation->set_rules('password', 'Password', 'trim|required|matches[passconf]|md5');$this->form_validation->set_rules('passconf', 'Password Confirmation', 'trim|required');$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email');?>

3、规则对应的错误提示(controller)

<?php$this->form_validation->set_message('required', '必须填写');$this->form_validation->set_message('valid_email', '不是有效的email');?>

4、运行检查错误信息(controller)

<?php $this->load->helper(array('form', 'url')); //加载CI表单验证库 $this->load->library('form_validation'); //---------------------------------------- # 验证规则及错误信息代码放在这里 //---------------------------------------- if ($this->form_validation->run() == FALSE){   //提交失败 重新加载表单部分   $this->load->view('myform'); }else{   //提交成功 表单处理   //跳转成功页面   $this->load->view('formsuccess'); }}

5、错误信息的输出函数(view)

<?php  //1.一股脑儿的全部输出(放在表单标签的上方即可)  echo validation_errors();  //2.针对单个表单单独输出(放在单个标签附近 参数为对应表单元素的域名)  echo form_error('password');  //3.针对单个表单输出的时候 需要修改定界符 显示错误信息样式(控制器里设置)  $this->form_validation->set_error_delimiters('<span class="error">', '</span>');  //设置成内联元素比较好?>

6、错误后 重新回填表单(view)

<?php //一般元素 回填(放在标签的values属性中输出) echo set_value('email'); //特殊元素select/checkbox/radio 第三个参数为true时 默认被选中 //第二个参数 是对应的表单元素的实际值 echo set_select('myselect', 'three'); //放在option的空白属性里 echo set_checkbox('mycheck[]', '1'); //放在checkbox的空白属性里 echo set_radio('myradio', '2');    //放在radio的空白属性里?>

html代码:

<html> <head>  <title>My Form</title> </head><body> <?php echo validation_errors(); ?> <?php echo form_open('form'); ?>  <h5>Username</h5>  <input type="text" name="username" value="<?php echo set_value('username'); ?>" size="50" />  <?php echo form_error('username'); ?>  <h5>Password</h5>  <input type="text" name="password" value="<?php echo set_value('password'); ?>" size="50" />  <?php echo form_error('password'); ?>  <h5>Password Confirm</h5>  <input type="text" name="passconf" value="<?php echo set_value('passconf'); ?>" size="50" />  <?php echo form_error('passconf'); ?>  <h5>Email Address</h5>  <input type="text" name="email" value="<?php echo set_value('email'); ?>" size="50" />  <?php echo form_error('email'); ?>  <div><input type="submit" value="Submit" /></div></form></body></html>

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选