首先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