• ThinkPHP三大自动


    一、自动验证

      
    array('验证字段','验证规则','错误提示','验证条件','附加规则','验证时间')
      
      
    //验证字段:需要验证表单字段名称
       //验证规则:必须要结合附加规则一起使用
       //错误提示:如果出现错误,抛出一个什么样的错误提示告知用户
       //验证条件:0、1、2
       //附加规则:1、regex使用正则验证 2、function使用函数验证 3、callback回调 4、confirm验证表单当中两个字段是否相同 5、验证是否等于某个值 6、in是否在某一个范围内 7、验证是否唯一
       //TP封装:require 字段必须验证;eamil 验证邮箱;url 验证url地址;currency 货币;number 数字;
       //验证时间:指数据库操作时间的验证时机,新增数据时验证Model::MODEL_INSERT;编辑的时候验证Model::MODEL_UPDATE;全部情况下验证Model::MODEL_BOTH;

       aoli/Home/Tpl/default/User/reg.html

      <form action="__URL__/regadd" method="post">
        用户名:<input type="text" name="username" /><br />
        密码:<input type="password" name="password" /><br />
        重复密码:<input type="password" name="repassword" /><br />
        注册时间:<input type="text" name="createtime" /><br />
        注册IP:<input type="text" name="createip" /><br />
        <input type="submit" value="注册" />
      </form>
      

       aoli/Home/Lib/Model/UserModel.class.php
      
     
    <?php
      class UserModel extends Model{//对应数据库中的表user
          protected $_validate=array(
              array('username','require','用户名必填'),
              array('username','checklen','用户名长度过长或过短',0,'callback'),
              array('password','require','密码必填'),
              array('repassword','require','重复密码必填'),
              array('password','repassword','两次密码不一致',0,'confirm'),
              array('createtime','number','您输入的不是数字'),
              array('createip','email','邮箱格式不正确'),
          );  
          function checklen($data){
              if(strlen($data)>15 || strlen($data)<5){
                  return false;
              }else{
                  return true;
              }
          }
             
      }
      ?>

       aoli/Home/Lib/Action/UserAction.class.php

           <?php
           class UserAction extends Action {     

           function reg(){
               $this->display();     
           }
          
           function regadd(){
               $user=D('user');
               if($user->create()){
                   if($user->add()){
                       $this->success('注册成功');     
                   }else{
                       $this->error('注册失败');     
                   }
               }else{
                   $this->error($user->getError());     
               }      
           }      
      }
      ?>
      
    二、自动完成(自动填充)

       
    //自动完成也是ThinkPHP当中的一个成员方法,在create的时候,自动执行
        //array('填充字段','填充内容','填充条件','附加规则');
        protected $_auto = array ( 
          //array( 'status','1'),   //  新增的时候把 status 字段设置为 1
          array('password','md5',1,'function') ,  //  对 password 字段在新增的时候使 md5 函数处理
          array('createtime','time',3,'function' ),  //  对 create_time 字段在更新的时候写入当前时间戳
        );

    二、自动映射(字段映射)

       
    //自动映射:将数据库的字段映射成别名,在表单中就可以使用别名了。
        protected $_map = array(   
            'name' => 'username',
            'pass' => 'password',
        );

  • 相关阅读:
    jQuery daily
    jQuery daily
    spring事务管理
    AspectJ AOP切面编程(XML配置)
    springAOP思想
    spring与web整合(交鸡肋,因为有前台框架封装了servlet)
    spring复杂对象注入四种方式
    spring的Bean注入和P标签使用
    spring Bean的作用域、生命周期和后处理器
    IoC容器实例化Bean三种方式
  • 原文地址:https://www.cnblogs.com/xiaofeng028/p/3679977.html
Copyright © 2020-2023  润新知