yii2 场景

本文介绍了在Yii框架中如何使用场景来进行模型验证。通过定义不同场景下的验证规则,可以在登录、注册等不同业务场景中灵活应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天听到的是场景的分享,其实我在实际的项目中没有用到过,如果有单独的一两个字段需要额外的限制,我会选在在控制器中利用addError()来控制,不过今天听到场景的分享,也就做了一个记录

常见的场景的设置,在网上能看到很多分享,我去粘贴一下

在Model中有两种方式可以设置场景

public function scenarios()

{

    return [

        'login'=>['username','password'],

        'singup'=>['username'],

    ];

}

两种方式

public function rules()

{

return [['username'],'require','on'=>'login']

}

在控制器中添加

$model->setScenarios=("login");

或$model = new UserModel(['scenarios'=>'login']);

之后就可以在在不同的场景实现不同的验证方式

我写的验证例子和实际场景是没有实际意义的,因为不想再去敲一次代码了,所以就随手写了,让自己以后再看的时候知道基本的语法规则就OK,

另外有一个扩充

关键词except  排除场景

[规则   ,'except'=>'场景名称']

这么写的用处是在实际运用当中,排除该场景之外的场景运用的规则


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值