Yii 2.0 rule 自定义规则的使用心得

Yii 2.0有一套很好用的验证规则rule,并且可以自定义,只要在model的里面定义好rule


public function rules() {
	return [
		[['add_time', 'update_time'], 'safe'],
		[['status'], 'integer'],
		[['name'], 'string', 'max' => 50],
		[['auth_ids'], 'string', 'max' => 500],
		[['description'], 'string', 'max' => 200],
	];
}

使用的时候
$Model =  new Model();
$Model->attributes = $data;
$model->validate() 

就可以了
很简单

但是我这里要说的是他的自定义rule,之前了解自定义rule,没有发现,其实是可以添加很多参数帮助我们使用的

这是一条自定义的rule

['name', 'only', 'params' => ['message'=>'该角色已经存在','field'=>['name']]],

第一个name是验证的字段,第二个是验证的方法,第三个params就是我们需要用到的所谓的参数,这个参数的数据类型可以是字符串也可以是数组,我们定义好以后,写自定义方法

public function only($attribute, $params) {
	//$attribute这个参数是rule里面的第一个参数,$params就是第二个参数了
	
	这里就写你的逻辑
	如果验证不通过,我们需要调用addError来输出,这里我有一个疑惑,其实这个rule我们可以写好message的,但是我发现不行,必须到这里使用这个addError才可以??
	$this->addError($attribute, $params['message']);
	
}

转载于:https://my.oschina.net/gcdong/blog/1120366

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值