有2个需要的功能:注册时设置密码和如果用户忘记密码则更改密码。用户注册时,密码长度必须至少为4个字符;当更改通过时 - 至少 5 个字符。
视图对于注册和更改通行证很常见。显然,还存在两种操作,其中使用“注册”或“更改”场景。
模型中的代码片段:
public function rules() {
return [
['password', 'string', 'min' => 4, 'on' => 'signup'],
['password', 'string', 'min' => 5, 'on' => 'change'],
];
}
但我想通过场景()。怎么做?我是 Yii 的初学者,所以不明白何时以及如何使用场景()。谢谢。
UPD。我需要使用场景() for ONE场与ONE规则,但是不同的对这一规则的论证。如何在 Yii2 中定义场景? https://stackoverflow.com/questions/31112079/how-to-define-a-scenario-in-yii2- 这不是我的情况。
As 有关的文档scenarios() http://www.yiiframework.com/doc-2.0/yii-base-model.html#scenarios%28%29-detail says: 该方法的默认实现将返回在rules()声明中找到的所有场景。所以一般情况下你不需要重写这个方法,因为它会寻找on
数组键为当前场景设置活动属性并正确验证它们。
所以在你的情况下'on' => 'some scenario'
对于同一属性的不同验证正是您所需要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)