加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Yii2 rules 自定义规则

发布时间:2020-12-13 21:24:25 所属栏目:PHP教程 来源:网络整理
导读:? Yii2 提供了一套完善的参数校验规则,但有时可能不满足实际需求,需要我们自定义规则,这里简单介绍下自定义规则的使用。 比如有个参数 country ,只能接收 'USA','Web',其余校验不通过。 代码如下: public $country ; public function rules(){ return

?

Yii2 提供了一套完善的参数校验规则,但有时可能不满足实际需求,需要我们自定义规则,这里简单介绍下自定义规则的使用。

比如有个参数 country ,只能接收 'USA','Web',其余校验不通过。

代码如下:

public $country;
 
public function rules()
{
    return [
        // 自定义validateCountry()方法校验规则
        ['country','validateCountry'],
    ];
}
 
function validateCountry($attribute,$params)
{
    if (!in_array($this->])) {
        $this->addError();
    }
}

?

常见问题自定义规则失效。

按上述代码其实有个规则失效问题,当参数为空的时候或者已经在其他验证中失效的情况下,是不走validateCountry() 方法的。

这时可以加上参数?skipOnEmpty?和?skipOnError?设置为 false。

?

代码如下:

false,'skipOnError' => false],1)">);
    }
}

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读