CI框架学习之四(表单验证)
2015-03-24 11:13
543 查看
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>
相关文章推荐
- CI框架表单验证
- 【jQuery学习----表单验证】简单的EasyValidator验证框架
- Laravel 5框架学习之表单验证
- CI框架表单验证
- ci框架 2_表单验证(未完善)
- 学习js,尝试写一个表单验证框架(1)-规划
- CI框架表单验证实例详解
- 基于Jquery的表单验证框架
- 实战Spring MVC 表单验证框架
- ASP.NET学习手记:验证用户表单输入
- 【Javascript】javascript学习 三十二 JavaScript 表单验证
- ASP.NET学习手记:验证用户表单输入
- ASP.NET学习手记:验证用户表单输入
- 从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
- Ext JS 学习(5) Ext.FormPanel 组件的使用第二式(fieldset的使用, ExtJS表单验证模式)
- jQuery学习整理 (11)实战表单验证与自动完成提示插件
- ASP.NET学习手记:验证用户表单输入
- struts2表单验证初步及国际化实现(学习总结)
- 【原创】用Validator框架对页面表单进行验证..
- struts2表单验证初步及国际化实现(学习总结)