/**
* @inheritdoc
*/
public function rules() {
return [
[['quantity', 'first_name', 'last_name', 'email', 'country', 'postal_code', 'locality', 'address'], 'required'],
[['quantity'], 'integer'],
[['first_name', 'last_name', 'email', 'country', 'phone'], 'string', 'max' => 127],
[['postal_code'], 'string', 'max' => 20],
[['locality', 'address'], 'string', 'max' => 255]
];
}
public function scenarios() {
return [
'firstStep' => ['quantity', 'first_name', 'last_name', 'email'],
'secondStep' => ['country', 'postal_code', 'locality', 'address', 'phone'],
];
}
当我提交表单时,我得到:
无效参数- yii\base\参数无效异常
未知方案:默认值
有人知道为什么吗?也许这不是**覆盖***scenario 方法的正确方法。
4条答案
按热度按时间azpvetkf1#
2eafrhcq2#
您是否在模型中扩展了
ActiveRecord
?信息:http://www.yiiframework.com/doc-2.0/guide-structure-models.html
iyfjxgzm3#
好的。严格地说,我出现这个错误的原因是因为我没有正确地覆盖场景方法,因为,像我这样做,我不会保留被覆盖的方法的特性。我会在RETURN时做一个完全替换,给定这个
default error
。为了避免这种情况,我必须正确地这样做,因为它在docs上声明:
例如:
当我们这样做时,错误就消失了。
然而,维舒·帕特尔确实解决了我所面临的隐含问题。所以我会接受它的答案。
h79rfbju4#
因为您正在覆盖方案,所以丢失了默认方案。