博客列表 >5.25 验证器

5.25 验证器

吃不起土的少年的博客
吃不起土的少年的博客原创
2018年05月31日 23:03:22766浏览

实例

<?php
namespace app\validate;

use think\validate;

class Staff extends Validate
{

  protected $rule=[
    'name'=>'require|min:5|max:19',
    'sex'=>'in:0,1',
    'age'=>'require|between:18,60',
    'salary'=>'require|gt:2000'
  ];

  protected $message=[
    'name.require'=>'员工姓名不能为空',
    'name.min'=>'员工姓名不得少于5个字符',
    'name.max'=>'员工姓名不得大于19个字符',
    'sex.in'=>'请选择男或者女',
    'age.require'=>'员工年龄不能为空',
    'age.between'=>'员工年龄必须在18-60周岁之间',
    'salary.require'=>'员工工资不能为空',
    'salary.gt'=>'员工工资不得低于2000元'
  ];
}
 ?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<?php
namespace app\index\controller;

use think\Controller;
use app\validate\Staff;
use think\Validate;

class Verify extends Controller
{
  //实例化验证
  public function example1(){

    $data=[
      'name'=>'杰洛特',
      'sex'=>0,
      'age'=>62,
      'salary'=>16000
    ];

    $validate =new Staff();
    if(!$validate->check($data)){
      dump($validate->getError());
    }else{
      return '验证通过';
    }
  }

  public function example2(){
    //验证器: 使用控制器内容的验证对象来完成验证: $this->validate($data, $rule)

    // $data =[
    //   'name'=>'卡尔',
    //   'sex'=>1,
    //   'age'=>66,
    //   'salary'=>1606060
    // ];

    $rule='app\validate\Staff';
    $rule=[ 'age'=>'between:18,68'];

    $message =['age.between'=>'年龄必须在18~68岁之间'];

    $data=['age'=>66];

    $res =$this->validate($data,$rule,$message);
    if(true!==$res){
          return $res;
    }  return '验证成功';

  }

  //独立验证
  public function example3(){
    //主要是通过Validate::make()和check()进行验证
		//make($rule,$mess):创建验证规则与错误信息
		//check($data)完成数据验证

    $rule =[
      'age' =>'require|between:1,60'
    ];

    $mes =[
      'age.require' => '年龄必须填写',
			'age.between' => '年龄必须在20到60之间'
    ];

    $data =['age'=> 61];

    $validate = Validate::make($rule,$mes);

    $res =$validate->check($data);

    return $res ?'验证通过':$validate->getError();
  }

}
 ?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议