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中利用XML技术构造远程服务(上)
Oct 09 PHP
php 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
Feb 22 PHP
实例介绍PHP的Reflection反射机制
Aug 05 PHP
ThinkPHP验证码和分页实例教程
Aug 22 PHP
ThinkPHP表单自动验证实例
Oct 13 PHP
避免Smarty与CSS语法冲突的方法
Mar 02 PHP
PHP批量去除BOM头代码分享
Jun 26 PHP
PHP生成树的方法
Jul 28 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
Dec 23 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
Mar 01 PHP
php构造函数与析构函数
Apr 23 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中::、->、self、$this几种操作符的区别介绍
2013/04/24 PHP
php超快高效率统计大文件行数
2015/07/05 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
javascript中简单的进制转换代码实例
2013/10/26 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
JavaScript 冒泡排序和选择排序的实现代码
2016/09/03 Javascript
JavaScript常用代码书写规范的超全面总结
2016/09/11 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
jQuery实现ajax回调函数带入参数的方法示例
2018/06/26 jQuery
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
使用FormData实现上传多个文件
2018/12/04 Javascript
redux.js详解及基本使用
2019/05/24 Javascript
vue实现的上拉加载更多数据/分页功能示例
2019/05/25 Javascript
vue项目中极验验证的使用代码示例
2019/12/03 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python进阶-函数默认参数(详解)
2017/05/18 Python
python logging日志模块以及多进程日志详解
2018/04/18 Python
利用python打开摄像头及颜色检测方法
2018/08/03 Python
Python多进程方式抓取基金网站内容的方法分析
2019/06/03 Python
pow在python中的含义及用法
2019/07/11 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
Python autoescape标签用法解析
2020/01/17 Python
Python 字典中的所有方法及用法
2020/06/10 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2020/09/09 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
数学与统计学院学生个人职业生涯规划书
2014/02/10 职场文书
逃课上网检讨书
2014/02/20 职场文书
服装设计专业自荐信
2014/06/17 职场文书
考试作弊检讨书
2014/10/21 职场文书
出国导师推荐信
2015/03/25 职场文书
2016国庆节67周年寄语
2015/12/07 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python