Boo*_*ype 3 php yii2 yii-validation
有2个需要的功能:注册时设置密码和更改密码,如果用户忘记了.用户注册时,密码长度必须至少为4个字符; 当变化通过时 - 至少5个字符.
视图通常用于注册和更改传递.显然,还存在2个动作,其中任一个场景'注册',或者使用'改变'.模型中的代码段:
public function rules() {
return [
['password', 'string', 'min' => 4, 'on' => 'signup'],
['password', 'string', 'min' => 5, 'on' => 'change'],
];
}
Run Code Online (Sandbox Code Playgroud)
但我想通过scenario()做到这一点.怎么做?我是Yii的初学者,所以不明白,何时以及如何使用scenario().谢谢.
UPD.我需要使用场景()用于ONE场ONE规则,但是不同参数这一规律.如何在Yii2中定义场景? - 这不是我的情况.
正如文档所述scenarios()
:此方法的默认实现将返回rules()声明中找到的所有方案.因此,通常您不需要覆盖此方法,因为它将查找on
数组键以设置当前方案的活动属性并正确验证它们.
因此,在您的情况下'on' => 'some scenario'
,对同一属性的不同验证正是您所需要的.
归档时间: |
|
查看次数: |
9345 次 |
最近记录: |