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 feof用来识别文件末尾字符的方法
Aug 01 PHP
字母顺序颠倒而单词顺序不变的php代码
Aug 08 PHP
供参考的 php 学习提高路线分享
Oct 23 PHP
php 模拟POST提交的2种方法详解
Jun 17 PHP
php多任务程序实例解析
Jul 19 PHP
PHP中__FILE__、dirname与basename用法实例分析
Dec 01 PHP
浅谈php中include文件变量作用域
Jun 18 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
Mar 17 PHP
php自定义函数实现汉字转换utf8编码的方法
Sep 29 PHP
PhpStorm本地断点调试的方法步骤
May 21 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
PHP Trait功能与用法实例分析
Jun 03 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
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
PHP Header失效的原因分析及解决方法
2016/11/16 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
利用404错误页面实现UrlRewrite的实现代码
2008/08/20 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
2013/11/28 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
Javascript 实现 Excel 导入生成图表功能
2018/10/22 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
微信公众号开发之微信支付代码记录的实现
2019/10/16 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
python 实现归并排序算法
2012/06/05 Python
Python脚本处理空格的方法
2016/08/08 Python
使用Python脚本和ADB命令实现卸载App
2017/02/10 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
Python第三方库的几种安装方式(小结)
2020/04/03 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
选购世界上最好的美妆品:Cult Beauty
2017/11/03 全球购物
求职信模版
2013/11/30 职场文书
金融行业务员的自我评价
2013/12/13 职场文书
学习雷锋做美德少年寄语大全
2014/04/09 职场文书
实习评语大全
2014/04/26 职场文书
幸福中国演讲稿
2014/09/12 职场文书
小学运动会报道稿
2014/10/04 职场文书
股东出资证明书范例
2014/10/04 职场文书
2014年市场部工作总结
2014/11/25 职场文书
校园安全学习心得体会
2016/01/18 职场文书
股权投资协议书
2016/03/23 职场文书
诗词赏析-(浣溪沙)
2019/08/13 职场文书