thinkphp5 验证器 validate 和 layer

首先tp5的验证器使用特方便

设置规则即可通用

首先页面html(layer 配合) 毕竟是后端 尽量用一些成熟的前台框架  之前用boostrap

 $.ajax({
            url:'/index/Register/userDo&t='+Math.random(),
            type:'post',
            dataType:'json',
            data:{regMobile:$("#regMobile").val(),regPassword:$("#regPassword").val(),imgVerifycode:$("#imgVerifycode").val(),regmCode:$("#regmCode").val()},
            success:function(res){
                if(res.status==1){
                    layer.alert(res.msg, {icon: 1,btn: ['确定'],yes: function(index, layero){
                        top.location.href = res.Turl;
                    }});
                }else{
                    layer.alert(res.msg, {icon: 2,btn: ['确定'],yes: function(index, layero){
                        top.location.href = res.Turl;
                    }});
                }
            },
            error : function(XMLHttpRequest, textStatus, errorThrown) {
                layer.alert('网络失败,请刷新页面后重试', {icon: 2});
            }
        })

 控制器  继承默认控制器 Control 即可使用

//验证数据
        $rule = [
            'regMobile'  =>  $Mobile,
            'code' =>  $Code,
            'regPassword' =>  $Password,
        ];
        //加载验证器
        $resultValidate = $this->validate($rule,'Register');
        if(true !== $resultValidate){
            return ['status'=>0,'msg'=>"$resultValidate"];
        }

验证器 可以自定义

<?php
namespace app\index\validate;

use think\Validate;

class Register extends Validate
{
    protected $rule = [
        'regMobile'  =>  'require|number|max:11',
        'code' =>'number|length:6',
        'regPassword' =>  'number',
    ];

    protected $message  =   [
        'regMobile.require' => '请填写手机号1',
        'regMobile.max'     => '请输入有效的手机号码',
        'regMobile.number'         =>'请输入有效的手机号码',
        'code.number'         =>'短信验证码必须是数字',
        'code.length'         =>'短信验证码是六位数字',
        'regPassword.number'   => '年龄必须是数字',
        'age.between'  => '年龄只能在1-120之间',
        'email'        => '邮箱格式错误',
    ];


}

更多功能 看手册去实现

参考

require 格式验证类

number 或者 integer
验证某个字段的值是否为数字(采用filter_var验证)

float
验证某个字段的值是否为浮点数字(采用filter_var验证)

---------

 https://www.kancloud.cn/manual/thinkphp5/129356

 

posted @ 2017-11-08 15:03  王先生架构  阅读(2877)  评论(0编辑  收藏  举报
失独者之家