自己创建的一个验证器。并且对应模型中对应表中的字段进行处理

原创2019-03-06 11:43:54162
摘要:namespace app\index\controller; use think\Controller; use app\validate\User; use think\Validate;//导入验证器 class Verify extends Controller {   public fu
namespace app\index\controller;
use think\Controller;
use app\validate\User;
use think\Validate;//导入验证器

class Verify extends Controller
{
  public function demo1(){
     $data=[
       'username'=>'',
       'age'=>'',
     ];
     $validate=new User();
     if(!$validate->check($data)){
         echo $validate->getError();
     }else{
         return'验证通过';
     }
  }
  public function demo2(){
      $data=[
          'username'=>'shanwei',
          'age'=>'29'
      ];
       $rule='app\validate\User';
       $res=$this->validate($data,$rule);
       if(true !==$res){
          echo $res;
          die;
       }
     return '验证成功';
  }
  //独立验证
    public function demo3(){
     //第一,先创建验证规则
      $rule=['age'=>'require|between:18,60'];

      //第二创建提示信息
      $mss=['age.require'=>'年龄必须填写','age.between'=>'请填写正确的年龄'];

      //第三创建数据
       $data=['age'=>''];
       $validate=Validate::make($rule,$mss);
       $res=$validate->check($data);
        if(!$res) {
            echo $validate->getError();
        }else{
            echo'验证成功';
        }
    }
}



验证文件:

<?php
namespace app\validate;

use think\Validate;

class User extends Validate{
  protected $rule=[
     'username'=>'require|length:6,15',
     'age'=>'in:0,1',
      'age'=>'require|between:18,60',
      'salary'=>'require|gt:1500'
  ];
 protected $message=[
          'username.require' => '名称必须填写',
          'name.max'     => '名称最多不能超过25个字符',
          'age.number'   => '年龄必须是数字',
          'age.between'  => '年龄必须在1~120之间',
          'email'        => '邮箱格式错误',
 ];
}


批改老师:天蓬老师批改时间:2019-03-06 13:09:33
老师总结:很好, 验证有多种方式,最简单就是直接使用控制器内置的快捷方式,但只限于当前方法用, 如果想全站用,最好独立验证

发布手记

热门词条