更多笔记:

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验证器的使用的更多相关文章

  1. gin中如何自定义验证器

    package main import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding&qu ...

  2. springMVC中使用 JSR-303验证器( Validation 接口 )

    在pom.xml,添加validator验证器的依赖 <dependency> <groupId>org.hibernate</groupId> <artif ...

  3. [Form Builder]Form中的validate验证事件

    转:http://yedward.net/?id=70 Form的validate行为可以由一个总的form级别的validation属性来控制,可以通过set_form_property来设置成PR ...

  4. laravel中的validate验证的使用案例:

    第一个是设置,第二个是直接调用.

  5. 9、 Struts2验证(声明式验证、自定义验证器)

    1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证: ...

  6. flask 自定义验证器(行内验证器、全局验证器)

    自定义验证器 在WTForms中,验证器是指在定义字段时传入validators参数列表的可调用对象,下面来看下编写自定义验证器. 行内验证器 除了使用WTForms提供的验证器来验证表单字段,我们还 ...

  7. 基于struts2框架-自定义身份证号验证器

    自定义拦截器的步骤: 1.定义一个验证器的类: > 自定义的验证器都需要实现 Validator接口.  > 可以选择继承 ValidatorSupport 或 FieldValidato ...

  8. struts2验证器

    1. Struts2 的验证(note6,struts2-8) 1). 验证分为两种: > 声明式验证* >> 对哪个 Action 或 Model 的那个字段进行验证 >&g ...

  9. thinkphp5.1验证器场景验证中传参的方法。

    一个场景:用户保存自己的昵称,如果已经有其他用户用了这个昵称则不允许保存,但是要排除当前用户自己,因为如果用户未作修改,新昵称和老昵称一样,是可以保存的. 因为昵称定义了唯一规则: 'name' =& ...

随机推荐

  1. Linux中vim编辑器的缩进的功能键

    vim编程时,经常需要对代码进行缩进处理,以增加程序的可读性和后期的代码维护. 可以采用多种方式达到缩进的目的: 1) 命令模式(command mode) 2) Visual模式(visual mo ...

  2. 小试OKR一季度之后有感分享,你要不要试试ORK?

    封面 OKR已经在国内热火朝天有一阵子了,为了适当的赶时髦,从年初开始团队内部小范围使用ORK模式以便测试团队会有什么化学反应.这篇文章打算写写心得感受,供大家围观产考. 老一套先摆一下概念 OKR( ...

  3. 《从0到1学习Flink》—— Data Sink 介绍

    前言 再上一篇文章中 <从0到1学习Flink>-- Data Source 介绍 讲解了 Flink Data Source ,那么这里就来讲讲 Flink Data Sink 吧. 首 ...

  4. MySQL导入大sql 文件大小限制问题的解决

    解决过程如下: 1.由于mysql能解析sql的压缩文件,因此将200M压缩后为5M. 2.默认情况下:MySQL导入文件大小有限制的,最大为2M,所以当文件很大时候,直接无法导入,可修改php.in ...

  5. Python3基础(2)模块、数据类型及运算、进制、列表、元组、字符串操作、字典

    ---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...

  6. SpringBoot | 第二十三章:日志管理之整合篇

    前言 在本系列<第四章:日志管理>中,由于工作中日志这块都是走默认配置,也没有深入了解过,因为部署过程中直接使用了linux中的输出重定向功能,如java -jar xx.jar > ...

  7. (转载)ASP.NET Quiz Answers: Does Page.Cache leak memory?

    原文地址:http://blogs.msdn.com/b/tess/archive/2006/08/11/695268.aspx "We use Page.Cache to store te ...

  8. MVC与MVVM的关系

    什么是MVC? M(Model数据层) 职能单一,只负责操作数据库,执行对于的 Sql 语句,进行数据的CRUD C: create 增加 R: Read 读取 U: update 修改 D: Del ...

  9. ArcGIS API for JavaScript开发初探——基础知识

    1.前言 在ArcGIS Web API开发体系中一共有四大类,分别为: ArcGIS API for Flex ArcGIS API for JavaScript ArcGIS API for RE ...

  10. python之__init__使用方法

    定义类的时候,若是添加__init__方法,那么在创建类的实例的时候,实例会自动调用这个方法,一般用来对实例的属性进行初使化.比如:class testClass: def __init__(self ...