我有两个字段,它们使用同一个模型类的两个不同实例。
$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],
];
}
我想你可以在你的控制器中使用这样的东西:
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();