Thinkphp5中的Validate验证器的使用
更多笔记:
http://note.youdao.com/noteshare?id=e97a5df64888f27d912b3e966b9ec297&sub=web1520841813815
validate\Brand.php验证器里
D:\xampp\htdocs\shop\application\admin\validate\Brand.php
<?php
namespace app\admin\validate;
use think\Validate;
class Brand extends Validate
{
protected $regex = [ 'zip' => '/^1[3578]\d{9}$/']; //自定义正则
protected $rule = [
'brand_name' => 'require|unique:brand', //验证唯一这里跟的是表名
'brand_url' => 'url',
'brand_description' => 'min:6',
'phone'=>'require|unique:user|regex:/^1[3458]\d{9}$/',
];
protected $message = [
'brand_name.require' => '品牌名称必须',
'brand_name.unique' => '品牌名称不能重复',
'brand_url.url' => 'url格式不正确',
'brand_description.min' => '描述最少6个字符',
'phone.require'=>'手机号不能为空!',
'phone.unique'=>'手机号已经存在,请重新输入!',
'phone.regex'=>'请输入正确的手机号!',
];
//场景验证
protected $scene=[
'add'=>['merchant_id','group_id','username','password','repassword','nickename','phone'],
'edit'=>['merchant_id','group_id','username','password','repassword','nickename','phone'],
];
}
1. 控制器里的普通验证

public function add()
{
if(request()->isPost()){
$data=input('post.');
//带场景验证
$validate = validate('Brand');
if(!$validate->scene('add')->check($data)){
$this->error($validate->getError());
}
$add=db('brand')->insert($data);
if($add){
$this->success('添加品牌成功!','lst');
}else{
$this->error('添加品牌失败!');
}
return;
}
return view();
}
2. 控制器里ajax提交过来的数据验证:
//接收添加表单过来的数据
$data=input("post.");
//表单信息验证
$validate = validate('Shopdaqu');
if(!$validate->scene('add')->check($data)){
return json_encode($validate->getError());
}
ajax提交表单
//添加用户
$(document).on('click','#adduser',function(){
//加载等待代码
layer.load();
//此处演示关闭
setTimeout(function(){
layer.closeAll('loading');
}, 1500);
$.ajax({
type:"post",
url:"{:url('admin/add')}",
data: $('#uploadForm').serialize(),
dataType:'json',
success:function(data)
{
var data = JSON.parse(data);
if (data['list']) {
$('#tableList').html(data.list); //接到返回来的table.html页面后,替换列表页面里的表格
layer.alert('添加成功!!',{icon:6}); //弹出修改成功的提示
}else{
layer.alert(data,{icon:5});
}
},
error:function(){
layer.alert("网络错误!请稍后重新尝试", {icon: 2});
}
})
});
Thinkphp5中的Validate验证器的使用的更多相关文章
- gin中如何自定义验证器
package main import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding&qu ...
- springMVC中使用 JSR-303验证器( Validation 接口 )
在pom.xml,添加validator验证器的依赖 <dependency> <groupId>org.hibernate</groupId> <artif ...
- [Form Builder]Form中的validate验证事件
转:http://yedward.net/?id=70 Form的validate行为可以由一个总的form级别的validation属性来控制,可以通过set_form_property来设置成PR ...
- laravel中的validate验证的使用案例:
第一个是设置,第二个是直接调用.
- 9、 Struts2验证(声明式验证、自定义验证器)
1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证: ...
- flask 自定义验证器(行内验证器、全局验证器)
自定义验证器 在WTForms中,验证器是指在定义字段时传入validators参数列表的可调用对象,下面来看下编写自定义验证器. 行内验证器 除了使用WTForms提供的验证器来验证表单字段,我们还 ...
- 基于struts2框架-自定义身份证号验证器
自定义拦截器的步骤: 1.定义一个验证器的类: > 自定义的验证器都需要实现 Validator接口. > 可以选择继承 ValidatorSupport 或 FieldValidato ...
- struts2验证器
1. Struts2 的验证(note6,struts2-8) 1). 验证分为两种: > 声明式验证* >> 对哪个 Action 或 Model 的那个字段进行验证 >&g ...
- thinkphp5.1验证器场景验证中传参的方法。
一个场景:用户保存自己的昵称,如果已经有其他用户用了这个昵称则不允许保存,但是要排除当前用户自己,因为如果用户未作修改,新昵称和老昵称一样,是可以保存的. 因为昵称定义了唯一规则: 'name' =& ...
随机推荐
- (转)Linux系统基础网络配置老鸟精华篇
Linux系统基础网络配置老鸟精华篇 原文:http://blog.51cto.com/oldboy/784625 对于linux高手看似简单的网络配置问题,也许要说出所以然来也并不轻松,因此仍然有太 ...
- Android子线程更新UI成功
android子线程更新UI成功 今天在写demo的时候,在子线程中更新UI,发现更新成功,记录一下. protected void onCreate(Bundle savedInstanceStat ...
- {ldelim},{rdelim} - smarty 内建函数
{ldelim}和{rdelim}用来转义模板的分隔符,缺省为{和}.你也可以用{literal}{/literal}来转义文本块(如Javascript或CSS). 例: {* 在模板外将原样打印分 ...
- ACdream 1431——Sum vs Product——————【dfs+剪枝】
Sum vs Product Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) S ...
- Cucumber 步骤中传Data Table作为参数
引用链接:http://cukes.info/step-definitions.html Data Tables Data Tables are handy for specifying a larg ...
- 初识quartz 并分析 项目中spring整合quartz的配置【原创+转载】
初识quartz 并分析 项目中spring整合quartz的配置[原创+转载]2018年01月29日 12:08:07 守望dfdfdf 阅读数:114 标签: quartz 更多个人分类: 工具 ...
- ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第九天(非原创)
文章大纲 一.课程介绍二.今日功能介绍三.项目源码与资料下载四.参考文章 一.课程介绍 一共14天课程(1)第一天:电商行业的背景.淘淘商城的介绍.搭建项目工程.Svn的使用.(2)第二天:框架的整合 ...
- 添加SAP_ALL权限
更新usr04,ust04,usrbf2这三张表 REPORT ZTESTCREATEUSER. data: l_USR04 LIKE USR04 , l_UST04 LIKE UST04 , l_P ...
- Eucalyptus简介
1.Eucalyptus是什么? Eucalyptus n.桉树 Eucalyptus is a Linux-based software architecture that implements ...
- git学习(一)
提: 远程的主机名(远程仓库服务器名): origin 本地的主分支: master(本地master分支) 远程的主分支: maste(远程仓库的master分支) gi ...