• 后盾网-CI框架实例教程-马振宇


    第四节视频:

      表单验证操作:

        1、载入验证类

          $this ->load ->library('form_validation');

        2、设置规则

          $this ->form_validation ->set_rules('name值',‘标签名称’,‘规则’);

        3、执行验证(返回bool值)

          $this ->form_validation ->run();

      表单验证辅助函数:

        1、$this ->load ->helper('form');

        2、set_value('name')  //充填数据(刷新时保留原来数据)

          form_error('name','<span>','</span>')  //显示错误

          set_select()  //(刷新时保留原来数据)

          set_checkbox()  //(刷新时保留原来数据)

          set_radio()  //(刷新时保留原来数据)

      举栗子:

      注意:建立文章管理控制器专门管理文章,在建立控制器时,一个文章管理控制器就管相关的,管理文章的增加、修改、删除等等一系列相关的操作,总的来说,就是管理文章;

        在application/controllers/admin/下新建文章管理控制器article.php

          class Article extends CI_Controller{
            //发表模板显示
            public function send_article(){
              $this ->load ->view('admin/article.html');
            }
          }

        在application/views/admin/下创建文章发表模板article.html

        在application/controllers/admin/下的article控制器里新建发表文章动作方法:

          //发表文章动作
          public function send(){
            //载入表单类
            $this ->load ->library('form_validation');
            //配置规则
            $this ->form_validation ->set_rules('title','文章标题','required|min_length[5]');//标题不能为空,至少为5个
            //验证规则
            $status = $this ->form_validation ->run();
            var_dump($status);
          }

          在application/views/admin/article.html中,form表单提交地址为:

          <form action="<?php echo site_url('/admin/article/send')?>" method="post" enctype="multipart/form-data">

          注意:在ci框架中,所有链接和表单提交的地址,都是提交到控制器下的某一方法,由该方法决定下面所进行的动作;

      附:application/views/admin/article.html代码: 

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <link rel="stylesheet" href="<?php echo base_url().'style/admin/css/public.css'?>">
        <title>Title</title>
    </head>
    <body>
    <form action="<?php echo site_url('/admin/article/send')?>" method="post" enctype="multipart/form-data">/* enctype="multipart/form-data 文件上传时使用 */
        <table class = "table">
            <tr>
                <td colspan="10" class="th">发表文章</td>
            </tr>
            <tr>
                <td>标题</td>
                <td><input type="text" name="title" value="<?php echo set_value('title') ?>">/* value = "<?php echo set_value('title') ?>" 刷新时保留原来数据*/
                    <?php echo form_error('title','<span>','</td>') ?>/* 该行代码为:表单验证辅助函数,需先在控制器中载入辅助函数:$this ->load ->helper('form');汉化需ci框架汉化包*/
                </td>
            </tr>
            <tr>
                <td>类型</td>
                <td>
                    <input type="radio"> 普通
                    <input type="radio"> 热门
                </td>
            </tr>
            <tr>
                <td>栏目</td>
                <td>
                    <select name="" id="">
                        <option value="">情感</option>
                        <option value="">生活</option>
                    </select>
                </td>
            </tr>
            <tr>
                <td>缩略图</td>
                <td>
                    <input type="file">
                </td>
            </tr>
            <tr>
                <td>摘要</td>
                <td>
                    <textarea name="" id="" style=" 550px;height: 160px;"></textarea>
                </td>
            </tr>
            <tr>
                <td>内容</td>
                <td>
                    <textarea name="" id="" style=" 550px;height: 160px;"></textarea>
                </td>
            </tr>
            <tr>
                <td colspan="10"><input type="submit" class="input_button" value="发布"></td>
            </tr>
    
        </table>
    </form>
    </body>
    </html>

      附:application/controllers/admin/article.php

    <?php
    /**
     * Created by PhpStorm.
     * User: Administrator
     * Date: 2017/10/7
     * Time: 9:08
     */
    if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    
    class Article extends CI_Controller{
    
        //发表模板显示
        public function send_article(){
            //加载表单验证辅助函数
            $this ->load ->helper('form');
            $this ->load ->view('admin/article.html');
        }
    
        //发表文章动作
        public  function send(){
            //载入表单类
            $this ->load ->library('form_validation');
            //配置规则
            $this ->form_validation ->set_rules('title','文章标题','required|min_length[5]');//标题不能为空,至少为5个
            //验证规则
            $status = $this ->form_validation ->run();
    
            if($status){
                echo '数据库操作';
            }else{
                $this ->load ->helper('form');
                $this ->load ->view('admin/article.html');
            }
    
    
        }
    }
  • 相关阅读:
    Android的selector,背景选择器
    JAVA静态和非静态内部类
    Android应用资源--之属性(Attribute)资源
    contentprovider的学习实例总结
    转:Android 2.3 代码混淆proguard技术介绍
    忘掉旋转,利用2-3-4树,学习红黑树
    ios 定位获取当前位置信息
    地图相关
    mac下,svn配置
    NimBus一个好的开发框架
  • 原文地址:https://www.cnblogs.com/chengshun/p/7634497.html
Copyright © 2020-2023  润新知