我有两个文件,它们使用相同模型类的两个不同实例。
$form->field($billing_address, 'zip',
[
'selectors' => [
'input' => '#billing-zip',
'container' => '#billing-container',
],
'options' => ['id' => 'billing-container'],
])->textInput(['maxlength' => 11,
'name'=> 'Billing_Address[zip]',
'id'=>'billing-zip']);
//Shipping
$form->field($shipping_address, 'zip',
[
'selectors' => [
'input' => '#shipping-zip',
'container' => '#shipping-container',
],
'options' => ['id' => 'shipping-container'],
])->textInput(['maxlength' => 11,
'name'=> 'Shipping_Address[zip]',
'id'=>'shipping-zip']);
当我填写填充字段时,仅显示有错误的字段的错误。 但是当我按提交时,如果其中一个zip字段有错误,则所有zip字段的错误显示为
public function rules()
{
return [
[['zip'], 'string', 'max' => 23],
];
}
答案 0 :(得分:0)
我认为你可以在你的控制器中使用这样的东西:
if( Model::loadMultiple($model_array, Yii::$app->request->post()) && Model::validateMultiple($model_array) && $model->validate()){
//your stuff
}
其中$ model_array是模型数组
$model_array['model1'] = new YourModelClass();
$model_array['model2'] = new YourModelClass();