yii2中的rules 自定义验证规则详解

 更新时间:2016年04月19日 09:42:10   作者:白狼栈  
yii2的一个强大之处之一就是他的Form组件,既方便又安全。本文给大家介绍yii2中的rules 自定义验证规则,需要的朋友参考下

yii2的一个强大之处之一就是他的Form组件,既方便又安全。有些小伙伴感觉用yii一段时间了,好嘛,除了比tp"难懂"好像啥都没有。

领导安排搞一个注册的功能,这家伙刷刷刷的又是百度啥啥啥好的表单样式,又是百度啥啥啥validate验证,真替这家伙捏把汗。

当然啦,废话说在前头,咱们的重点喃,是要利用ActiveForm,然后怎么去实现自定义验证规则。

先来说说场景:

条件:①、有两个字段分别是A和B ②、A有两个值分别是1和2

需求是:当用户选择的A的值等于1的时候,B的值必须填写,当A的值等于2的时候,B的值不写也没关系。其中A必选。

我们来看看用Yii2自带的rules怎么去实现

首先在其关联model上加上下面这句规则

/**
* @inheritdoc
*/
public function rules()
{
return [
[['B'], 'requiredByASpecial'],
];
} 

然后在该model里面去实现requiredByASpecial方法即可

/**
* 自定义验证B
*/
public function requiredByASpecial($attribute, $params)
{
if ($this->A== 1) 
{
if ($this->B=== '')
$this->addError($attribute, "B的值不可以为空.");
}
}

上面的意思就是说当A等于1且B的值为空时,返回错误信息"B的值不可以为空"。

以上只是举了一个简单的例子,可以根据具体需求应用。

以上所述是小编给大家介绍的yii2 rules 验证规则的全部内容,希望对大家有所帮助!

相关文章

  • 使用php测试硬盘写入速度示例

    使用php测试硬盘写入速度示例

    使用php写入一个1GB大小的文件,检查硬盘的写速率,可能有一定误差,一般电脑读写在20M/s,这个测试要执行大概40-50s
    2014-01-01
  • 使用PHP+AJAX让WordPress动态加载文章的教程

    使用PHP+AJAX让WordPress动态加载文章的教程

    这篇文章主要介绍了使用PHP+AJAX让WordPress动态加载文章的教程,即不用手动刷新浏览器页面即可让加载好的文章显示,需要的朋友可以参考下
    2015-12-12
  • Laravel框架中扩展函数、扩展自定义类的方法

    Laravel框架中扩展函数、扩展自定义类的方法

    这篇文章主要介绍了Laravel框架中扩展函数、扩展自定义类的方法,非常实用的技术文章,需要的朋友可以参考下
    2014-09-09
  • Yii2框架BootStrap样式的深入理解

    Yii2框架BootStrap样式的深入理解

    Yii2框架默认采用了bootstrap作为CSS风格,各种视图类组件都如此。这篇文章主要介绍了Yii2框架BootStrap样式理解的相关资料,需要的朋友可以参考下
    2016-11-11
  • mac环境中使用brew安装php5.5.15

    mac环境中使用brew安装php5.5.15

    MAC本来就自带了 php,但是很多扩展没有安装,所以选择了重新安装php并升级到最新版,下面说说安装步骤,希望对大家有所帮助
    2014-08-08
  • PHP 文件锁与进程锁的使用示例

    PHP 文件锁与进程锁的使用示例

    本篇文章主要介绍了PHP 文件锁与进程锁的使用示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Laravel使用模型实现like模糊查询的例子

    Laravel使用模型实现like模糊查询的例子

    今天小编就为大家分享一篇Laravel使用模型实现like模糊查询的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 分享5个非常有用的Laravel Blade指令

    分享5个非常有用的Laravel Blade指令

    这篇文章主要给大家分享介绍了5个非常有用的Laravel Blade指令,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-05-05
  • WordPress中对访客评论功能的一些优化方法

    WordPress中对访客评论功能的一些优化方法

    这篇文章主要介绍了WordPress中对访客评论功能的一些优化,包括显示评论上的欢迎信息等功能,需要的朋友可以参考下
    2015-11-11
  • Yii结合CKEditor实现图片上传功能

    Yii结合CKEditor实现图片上传功能

    这篇文章主要介绍了Yii结合CKEditor实现图片上传功能,Yii是大名鼎鼎的PHP开发框架,CKEditor则是大名鼎鼎的所见即所得编辑器,需要的朋友可以参考下
    2014-06-06

最新评论