CI框架表单验证实例详解

2018-09-07 15:17

阅读:340

  本文实例讲述了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=函数用法同上,加上了文件上传的信息 上传方式默认为post */ ?>

  2、设置验证规则(controller)

   <?php //注意验证规则的变量名必须设置成 config $config = array( array( field => username, label => 用户名, rules => required ), array( field => password, label => 密码, rules => required ), array( field => passconf, label => 确认密码, rules => requiredmatches[password] ), array( field => tel, label => 手机, rules => requiredintegerexact_length[11]), array( field => email, label => 邮箱, rules => requiredvalid_email ) ); //上面的会自动 //单独设置规则 $this->form_validation->set_rules(username, Username, trimrequiredmin_length[5]max_length[12]xss_clean); $this->form_validation->set_rules(password, Password, trimrequiredmatches[passconf]md5); $this->form_validation->set_rules(passconf, Password Confirmation, trimrequired); $this->form_validation->set_rules(email, Email, trimrequiredvalid_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相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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


评论


亲,登录后才可以留言!