更多笔记:

http://note.youdao.com/noteshare?id=e97a5df64888f27d912b3e966b9ec297&sub=web1520841813815


validate\Brand.php验证器里

D:\xampp\htdocs\shop\application\admin\validate\Brand.php

  1. <?php
  2. namespace app\admin\validate;
  3. use think\Validate;
  4. class Brand extends Validate
  5. {
  6. protected $regex = [ 'zip' => '/^1[3578]\d{9}$/']; //自定义正则
  7. protected $rule = [
  8. 'brand_name' => 'require|unique:brand', //验证唯一这里跟的是表名
  9. 'brand_url' => 'url',
  10. 'brand_description' => 'min:6',
  11. 'phone'=>'require|unique:user|regex:/^1[3458]\d{9}$/',
  12. ];
  13. protected $message = [
  14. 'brand_name.require' => '品牌名称必须',
  15. 'brand_name.unique' => '品牌名称不能重复',
  16. 'brand_url.url' => 'url格式不正确',
  17. 'brand_description.min' => '描述最少6个字符',
  18. 'phone.require'=>'手机号不能为空!',
  19. 'phone.unique'=>'手机号已经存在,请重新输入!',
  20. 'phone.regex'=>'请输入正确的手机号!',
  21. ];
  22. //场景验证
  23. protected $scene=[
  24. 'add'=>['merchant_id','group_id','username','password','repassword','nickename','phone'],
  25. 'edit'=>['merchant_id','group_id','username','password','repassword','nickename','phone'],
  26. ];
  27. }

1. 控制器里的普通验证

  1. public function add()
  2. {
  3. if(request()->isPost()){
  4. $data=input('post.');
  5. //带场景验证
  6. $validate = validate('Brand');
  7. if(!$validate->scene('add')->check($data)){
  8. $this->error($validate->getError());
  9. }
  10. $add=db('brand')->insert($data);
  11. if($add){
  12. $this->success('添加品牌成功!','lst');
  13. }else{
  14. $this->error('添加品牌失败!');
  15. }
  16. return;
  17. }
  18. return view();
  19. }

2. 控制器里ajax提交过来的数据验证:

  1. //接收添加表单过来的数据
  2. $data=input("post.");
  3. //表单信息验证
  4. $validate = validate('Shopdaqu');
  5. if(!$validate->scene('add')->check($data)){
  6. return json_encode($validate->getError());
  7. }

ajax提交表单

  1. //添加用户
  2. $(document).on('click','#adduser',function(){
  3. //加载等待代码
  4. layer.load();
  5. //此处演示关闭
  6. setTimeout(function(){
  7. layer.closeAll('loading');
  8. }, 1500);
  9. $.ajax({
  10. type:"post",
  11. url:"{:url('admin/add')}",
  12. data: $('#uploadForm').serialize(),
  13. dataType:'json',
  14. success:function(data)
  15. {
  16. var data = JSON.parse(data);
  17. if (data['list']) {
  18. $('#tableList').html(data.list); //接到返回来的table.html页面后,替换列表页面里的表格
  19. layer.alert('添加成功!!',{icon:6}); //弹出修改成功的提示
  20. }else{
  21. layer.alert(data,{icon:5});
  22. }
  23. },
  24. error:function(){
  25. layer.alert("网络错误!请稍后重新尝试", {icon: 2});
  26. }
  27. })
  28. });

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. 从Flux到Redux详解单项数据流

    从Flux到Redux是状态管理工具的演变过程,但两者还是有细微的区别的.但是最核心的都还是观察者模式的应用. 一.Flux 1. Flux的处理逻辑 通俗来讲,应用的状态被放到了store中,组件是 ...

  2. Python 面向对象程序设计

    类的设计 方法优先的原则, 在__init__方法中创建出需要的属性, 对于基类来说, 只进行默认值得初始化, 0, None等, 对于真正需要使用的子类, __init__方法则是进行我们需要的初始 ...

  3. cairo-dock天气位置代码

    cairo-dock天气位置代码: 城市: 北京CHXX0008哈尔滨CHXX0046长春CHXX0010沈阳CHXX0119大连CHXX0019天津CHXX0133呼和浩特CHXX0249乌鲁木齐C ...

  4. 开发原则&设计模式

    1.关于软件开发中的开发原则和设计模式: 1.1.开发原则 1.1.1.什么是开发原则? 开发原则就是开发的依据,只要依照这些原则进行开发,将来开发的软件具有很强的扩展力,很低的耦合度. 开发原则不属 ...

  5. 《大话设计模式》num02---策略模式

    2018年01月22日 22:04:57 独行侠的守望 阅读数:72更多个人分类: 设计模式编辑版权声明:本文为博主原创文章,转载请注明文章链接. https://blog.csdn.net/xiao ...

  6. System path '/Users/hxy/Library/Caches/PyCharm2018.2' is invalid.

    Mac系统下安装pycharm后启动出现System path '/Users/hxy/Library/Caches/PyCharm2018.2' is invalid.问题: 1.出现原因: 1.1 ...

  7. 查看mysql表和数据库的大小

    转自:http://xiaosu.blog.51cto.com/2914416/687835 1.查看数据库的大小 use 数据库名SELECT sum(DATA_LENGTH)+sum(INDEX_ ...

  8. Riverbed SteelHead 9.5.0

    平台: scientific linux release 6.5 类型: 虚拟机镜像 软件包: riverbed steelhead 9.5.0 basic software Enterprise i ...

  9. sql优化经典例子

    场景 我用的数据库是mysql5.6,下面简单的介绍下场景 课程表 create table Course( c_id int PRIMARY KEY, name varchar(10) ) 数据10 ...

  10. 又一例网卡mtu值引发的问题

    通过php上传文件到云存储,很小的文件都无法上传,在别的服务器上测试可以,本机环境是ESXI虚机安装的centos 7版本 解决思路过程 1.让开发写一个单独测试上传的文件,不调php nginx配置 ...