更多笔记:

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. Hive项目实战:用Hive分析“余额宝”躺着赚大钱背后的逻辑

    一.项目背景 前两年,支付宝推出的“余额宝”赚尽无数人的眼球,同时也吸引的大量的小额资金进入.“余额宝”把用户的散钱利息提高到了年化收益率4.0%左右,比起银行活期存储存款0.3%左右高出太多了,也正 ...

  2. 屏蔽“您目前使用的Discuz!程序有新版本发布,请及时升级!”提示

    在/discuz/source/admincp目录下找到文件:admincp_main.php 找到第49行: if($_G['uid'] && $_G['member']['allo ...

  3. SpringBoot | 第二十六章:邮件发送

    前言 讲解了日志相关的知识点后.今天来点相对简单的,一般上,我们在开发一些注册功能.发送验证码或者订单服务时,都会通过短信或者邮件的方式通知消费者,注册或者订单的相关信息.而且基本上邮件的内容都是模版 ...

  4. 几百道常见Java初中级面试题

     注:  有的面试题是我面试的时候遇到的,有的是偶然看见的,还有的是朋友提供的, 稍作整理,以供参考.大部分的应该都是这些了,包含了基础,以及相对深入一点点的东西.   JAVA面试题集 基础知识: ...

  5. 一起来学Spring Cloud | 第一章 :如何搭建一个多模块的springcloud项目

    在spring cloud系列章节中,本来已经写了几个章节了,但是自己看起来有些东西写得比较杂,所以重构了一下springcloud的章节内容,新写了本章节,先教大家在工作中如何搭建一个多模块的spr ...

  6. LESS CSS非常实用实例应用

    @charset "UTF-8"; @base-color:#333; // 圆角 .border-radius (@radius: 5px) { -webkit-border-r ...

  7. JVM(一):Java内存区域与内存溢出异常

    一.运行时数据区 共分为5块: 程序计数器      (线程私有,当前线程所执行的字节码的行号指示器) Java虚拟机栈  (线程私有,证明周期与线程相同,描述的是Java方法执行的内存模型,每个方法 ...

  8. mockjs模拟数据请求

    一般项目的方法 <html> <head> <script> <script src="http://requirejs.org/docs/rele ...

  9. Hibernate笔记6-JPA-注解

    一.JPA简介--Java Persistence API. 是SUN公司推出的一套基于ORM的规范.hibernate框架中提供了JPA的实现.JPA通过JDK5.0注解或XML描述对象-关系表的映 ...

  10. 定制Banner

    1.修改Banner (1)在SpringBoot启动的时候会有一个默认启动的图案 (2)在src/main/resources下新建一个banner.txt (3)通过http://patorjk. ...