验证器 独立验证

Original 2019-04-01 17:10:36 311
abstract:<?php  namespace app\index\controller; use think\Controller; use app\validate\Staff; use \think\Validate;   class Verify extends Controller { //验证器
<?php 
namespace app\index\controller;
use think\Controller;
use app\validate\Staff;
use \think\Validate;
 
class Verify extends Controller
{

	//验证器

	public function demo1()
	{
		//模拟数据
		$data = [
			'name'=>'zhu',
			'sex' => 1,
			'age' => 28,
			'salary'=>1600,
		];

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

	//验证器的简化:$this->validate

	public function demo2()
	{
		$data = [
			'name'=>'zhu',
			'sex' => 1,
			'age' => 28,
			'salary'=>1600,
		];

		//验证规则
	    $rule = 'app\validate\Staff';
	    $result = $this->validate($data,$rule);

	    if (true !== $result) {
            // 验证失败 输出错误信息
            return $result;
        }
        return '验证成功';
	}

	//独立验证

	public function demo3()
	{
		//think\Validate.php
		//Validate::make():创建验证规则并返回验证对象
		//$validate->check($data):验证

		//1.创建验证规则
		$rule = ['name' => 'require|length:4,15',];
		//创建错误信息
		$mess = [
        	'name.require' => '名称不能为空',
        	'name.length'     => '名称必须在4-25个字符',
		];

		//创建数据
		$data = ['name'=>'zhuii'];

		//Validate::make():创建验证规则并返回验证对象

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

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

		return $rule == $res ? true : '名称错误';

	}
}

?>


Correcting teacher:西门大官人Correction time:2019-04-02 10:38:49
Teacher's summary:作业写的不错,建议继续思考一下验证器的实现原理

Release Notes

Popular Entries