Yii2框架自定义验证规则操作示例


Posted in PHP onFebruary 08, 2019

本文实例讲述了Yii2框架自定义验证规则操作。分享给大家供大家参考,具体如下:

废话不多说直接上代码

class AbcModel extends Model
{
  public $aaa;
  public $bbb;
  public $bbb;
  /**
   * 验证提交的form表单
   *
   * @return array
   */
  public function rules()
  {
    return [
      // 自定义验证
      [['aaa', 'bbb', 'ccc'], 'customValidationCityCode'],
    ];
  }
  public function customValidationCityCode($attribute, $params)
  {
    if (!isset($this->$attribute)
      || empty($this->$attribute)
      || !is_array($this->$attribute)
    ) {
      $this->addError($attribute, "值为空或不存在或类型不符合.");
      return;
    }
  }
}

上面的代码意思就是  当启用(new Abc())->validate()后就会根据rules顺序验证属性 ,而customValidationCityCode这个自定义验证方式是 有多少个需要验证的参数就会调用多少次customValidationCityCode方法 ,customValidationCityCode方法中的参数$attribute就是分别对应 aaa   bbb  ccc

Yii2框架自定义验证规则操作示例

这两个值是在yii\validators类中,主要作用分别是:

  • $skipOnError:跳过错误信息,意思就是如果有错误信息存在也会跳过
  • $skipOnEmpty:跳过值为空的属性,就算是该属性需要验证,也会跳过不验证。

yii中实例controller是利用反射机制实例化的  在yii2\vendor\yiisoft\yii2\di\Container.php文件中

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
无数据库的详细域名查询程序PHP版(2)
Oct 09 PHP
判“新”函数:得到今天与明天的秒数
Oct 09 PHP
用php过滤危险html代码的函数
Jul 22 PHP
PHP数组内存耗用太多问题的解决方法
Apr 05 PHP
PHP 图片文件上传实现代码
Dec 29 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
php实现最简单的MVC框架实例教程
Sep 08 PHP
PHP解析目录路径的3个函数总结
Nov 18 PHP
php比较两个字符串长度的方法
Jul 13 PHP
php基于单例模式封装mysql类完整实例
Oct 18 PHP
lnmp安装多版本PHP共存的方法详解
Aug 02 PHP
PHP常见数组排序方法小结
Aug 20 PHP
PHP使用mongoclient简单操作mongodb数据库示例
Feb 08 #PHP
PHP实现字符串大小写转函数的功能实例
Feb 06 #PHP
PHP addcslashes()函数讲解
Feb 03 #PHP
PHP addslashes()函数讲解
Feb 03 #PHP
PHP simplexml_load_string()函数实例讲解
Feb 03 #PHP
PHP simplexml_load_file()函数讲解
Feb 03 #PHP
PHP simplexml_import_dom()函数讲解
Feb 03 #PHP
You might like
菜鸟学PHP之Smarty入门
2007/01/04 PHP
php 获取select下拉列表框的值
2010/05/08 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
js获取url参数的使用扩展实例
2007/12/29 Javascript
DHTML Slide Show script图片轮换
2008/03/03 Javascript
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
javascript动态创建及删除元素的方法
2014/12/22 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
解析javascript瀑布流原理实现图片滚动加载
2016/03/10 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
vue实现lodop打印功能的示例
2020/11/11 Javascript
Django返回json数据用法示例
2016/09/18 Python
python pygame实现2048游戏
2018/11/20 Python
Django CBV类的用法详解
2019/07/26 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
2020/02/15 Python
Python定时任务框架APScheduler原理及常用代码
2020/10/05 Python
Python 生成短8位唯一id实战教程
2021/01/13 Python
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
机关会计岗位职责
2014/04/08 职场文书
公司担保书格式范文
2014/05/12 职场文书
临床医学专业求职信
2014/08/08 职场文书
大学学生个人总结
2015/02/15 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书