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
thinkphp5 验证器 validate 和 layer的更多相关文章
- Flex验证器 validate stringvalidate
1 validate <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns: ...
- thinkphp5.0自定义验证器
虽然我早就会些php基础语法,我套过数据,自己写的控制器层,不是用的api方式,那个公司是为了锻炼我,所以才那样做的,基本上的东西都是用的框架自带的,重来自己没有去封装过这些东西,所以编程思想上,还很 ...
- gin中如何自定义验证器
package main import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding&qu ...
- Thinkphp5中的Validate验证器的使用
更多笔记: http://note.youdao.com/noteshare?id=e97a5df64888f27d912b3e966b9ec297&sub=web1520841813815 ...
- Thinkphp5 模型 验证器执行顺序问题
Thinkphp5把模型的验证规则归为一个验证器,这种做法,不知到符不符合大家的心意,反正楼主是比较不爽的 楼主更倾向于tp3.2的验证规则直接写在模型里面,毕竟你的验证规则一般而言是针对模型来验证的 ...
- ThinkPHP5.0框架开发--第10章 TP5.0验证器
ThinkPHP5.0框架开发--第10章 TP5.0验证器 第10章 TP5.0验证器 ======================================= 今日学习 1.验证器 1) 控 ...
- thinkphp5.1验证器场景验证中传参的方法。
一个场景:用户保存自己的昵称,如果已经有其他用户用了这个昵称则不允许保存,但是要排除当前用户自己,因为如果用户未作修改,新昵称和老昵称一样,是可以保存的. 因为昵称定义了唯一规则: 'name' =& ...
- Spring MVC -- 验证器
输入验证是Spring处理的最重要Web开发任务之一.在Spring MVC中,有两种方式可以验证输入,即利用Spring自带的验证框架,或者利用JSR 303实现.本篇博客将介绍这两种输入验证方法. ...
- 9、 Struts2验证(声明式验证、自定义验证器)
1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证: ...
随机推荐
- Hive中的数据库、表、数据与HDFS的对应关系
1.hive数据库 我们在hive终端,查看数据库信息,可以看出hive有一个默认的数据库default,而且我们还知道hive数据库对应的是hdfs上面的一个目录,那么默认的数据库default到底 ...
- 在mysql中用int类型存储IP
SELECT INET_ATON( '127.0.0.1' ); SELECT INET_NTOA();
- 三十四.MySQL主从同步 、主从同步模式
mysql51:192.168.4.51 主 mysql52:192.168.4.52 从 mysql50:192.168.4.50 客户机 1.MySQL一主一从 1.1 51,52 安装m ...
- js判断当前时区【TimeZone】是否是夏令时
var d1 = new Date(2009, 0, 1); var d2 = new Date(2009, 6, 1); if (d1.getTimezoneOffset() != d2.getTi ...
- git 文件名大小写不敏感
1. 通过修改 git 配置: git config core.ignorecase false 2. 强制执行修改文件名命令: 需要重命名已添加到git的文件时,git mv --f oldFile ...
- Django系列(四):多表操作
1.创建模型 例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一(on ...
- linux系列(二十二):tar命令
1.命令格式 tar[必要参数][选择参数][文件] 2.命令功能 用来压缩和解压文件.tar本身不具有压缩功能.他是调用压缩功能实现的 3.命令参数 必要参数: -A 新增压缩文件到已存在的压缩 - ...
- 数据结构实验之图论十一:AOE网上的关键路径【Bellman_Ford算法】
Problem Description 一个无环的有向图称为无环图(Directed Acyclic Graph),简称DAG图. AOE(Activity On Edge)网:顾名思义,用边 ...
- vue中router-link的详细用法
官网文档地址:https://router.vuejs.org/zh/api/#to 今天项目突然有需求,让vue中的一个页面跳转到另一个页面 // 字符串 <router-link to=&q ...
- Java 8:掌握 Lambda 表达式
本文将介绍 Java 8 新增的 Lambda 表达式,包括 Lambda 表达式的常见用法以及方法引用的用法,并对 Lambda 表达式的原理进行分析,最后对 Lambda 表达式的优缺点进行一个总 ...