thinkadmin验证器与场景验证
两种验证方式
1.封装在验证类中
这里使用到了构造器提前new验证器类,因为是extends继承了父类,所以需要在构造器中加入
parent::__construct();
2.使用facade静态调用方式
控制器代码部分
<?php
namespace app\goods\controller;use library\Controller;
use app\goods\logic\QualiLogic;
use think\facade\Request;
use app\goods\validate\SupplierValidate;
use think\facade\Validate;
class Supplier extends Controller
{public function __construct(){parent::__construct();$this->validate = new SupplierValidate();}public function edit_quali(\app\goods\logic\QualiLogic $qualilogic){$postData = Request::post();if($postData){//方法一:更新供应商资质前的验证if (!$this->validate->scene('plan_add')->check($postData)) {$this->error($this->validate->getError());}//方法二:更新供应商资质前的验证//$this->edit_quali_validate($postData);}//方法二:更新供应商资质前的验证public function edit_quali_validate($postData){$rule = ['contacts_name|联系人'=>['require'=>'require',],'reg_address|注册地址'=>['require'=>'require',],'contacts_tel|联系电话'=>['require'=>'require','mobile'=>'mobile'],'pro_range|生产范围'=>['require'=>'require',],'yet_pro|已生产品种'=>['require'=>'require',],'join_pro_cate|合作品种类别'=>['require'=>'require',],'join_pro_name|合作品种名称'=>['require'=>'require',],'is_pro_cert|是否获得生产许可证'=>['require'=>'require',],'pro_cert_name|生产许可证名称'=>['require'=>'require',],'pro_cert_no|生产许可证编号'=>['require'=>'require',],'pro_cert_date|生产许可证效期'=>['require'=>'require',],];Validate::rule($rule);//如果验证不通过,直接输出错误信息if(!Validate::check($postData)){$this->error(Validate::getError());}}
验证规则
<?php
/*** 供应商表必填字段验证*/
namespace app\goods\validate;use think\Validate;class SupplierValidate extends Validate
{protected $rule = ['contacts_name|联系人'=>['require'=>'require',],'reg_address|注册地址'=>['require'=>'require',],'contacts_tel|联系电话'=>['require'=>'require','mobile'=>'mobile'],'pro_range|生产范围'=>['require'=>'require',],'yet_pro|已生产品种'=>['require'=>'require',],'join_pro_cate|合作品种类别'=>['require'=>'require',],'join_pro_name|合作品种名称'=>['require'=>'require',],'is_pro_cert|是否获得生产许可证'=>['require'=>'require',],'pro_cert_name|生产许可证名称'=>['require'=>'require',],'pro_cert_no|生产许可证编号'=>['require'=>'require',],'pro_cert_date|生产许可证效期'=>['require'=>'require',],];protected $message = ['contacts_name.require' =>'产品名称不能为空'];//验证场景,根据场景需要加入上边规则中需要验证的字段protected $scene = ['plan_add' => ['contacts_name','reg_address','contacts_tel','is_pro_cert','yet_pro','join_pro_cate','join_pro_name']];
}
thinkadmin验证器与场景验证相关推荐
- Java web接入google身份验证器二次验证
实现原理参考: https://blog.seetee.me/post/2011/google-two-step-verification/ 第一步: maven工程加入依赖 <dependen ...
- Tp51自定义验证器规则手机号码验证
Tp51自定义验证器规则手机号码验证 上图
- PHP实现谷歌验证器二次验证
一.什么是谷歌身份验证器? 不少网站在登陆或者操作时都需要谷歌身份验证器(Google Authenticator),就是说在输入用户名和密码之后还需要输入一个动态密码,而这个动态密码由手机APP谷歌 ...
- php验证器的调用,ThinkPHP5 验证器的具体使用
这篇文章主要介绍了关于ThinkPHP5 验证器的具体使用,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前言: 我们在做API开发的时候,我们会接受客户端传来的参数,大家都知道这个参 ...
- ThinkPHP5 验证器validate的使用总结(详细)
================================================================== ============ThinkPHP5 验证器validate ...
- Django REST framework API 指南(12):验证器
官方原文链接 本系列文章 github 地址 转载请注明出处 验证器 大多数情况下,您在 REST framework 中处理验证时,只需依赖默认的字段验证,或者在序列化类或字段类上编写明确的验证方法 ...
- [EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——上篇...
本文是为后面的学习之路做铺垫,简单介绍下企业库中的Validation模块的一些相关知识,包括Validation模块的简介.用途.使用方法.默认提供的多种验证器的介绍等. 一.简介及用途 在实际的项 ...
- jsf 传参数_在JSF 2中对定制验证器进行参数化
jsf 传参数 在JSF 2中编写自定义验证器并不是一项复杂的任务. 您实现Validator接口,添加@FacesValidator批注,并在faces-config.xml中插入validator ...
- 在JSF 2中对定制验证器进行参数化
在JSF 2中编写自定义验证器并不复杂. 您实现Validator接口,添加@FacesValidator批注,并在faces-config.xml中插入Validator声明, 仅此而已 . 一块蛋 ...
最新文章
- python3线程中的锁机制
- AI的使用场景破冰开拓商业服务
- 临床研究数据分析的6种常用方法
- 数学公式的规约(reduce)和简化(simplify)
- java高级工程师------struts的知识重点
- b-tree的索引页总览
- 高端AP的拆解及保护电路设计
- wps页眉怎么设置不同页码_如何设置 页眉页脚和页码
- 手机wps可以写html吗,如何在手机版WPS Office文档中插入文本框
- Thinkpad预装win10硬盘分区
- ethtool 开启网卡_技术|如何使用 ethtool 命令管理以太网卡
- java写入excel文件,并填充空单元格颜色
- 几本.Net的经典书籍
- 推荐系统之DIN模型(注意力机制对业务的理解)
- 【筛法求素数】HDU-1239 Calling Extraterrestrial Intelligence Again
- MySql 如果字段为NULL则返回0
- linux opengl配置编译,Linux下OpenGL的安装与cmake编译OpenGL程序
- 揭秘Unity3D科幻机甲网页游戏《星之战记》
- 使用VMware安装黑苹果
- MIPI CSI-2笔记(20) -- 建议的内存存储格式(Recommended Memory Storage)