0
エラーが表示されません:各モデルのYii2のAjaxのActiveFormの検証は、単一のコントローラにAJAXを検証することを、私は形で5種類のモデルを持っている
public function performAjaxValidation($model1, $model2, $model3, $model4, $model5) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validateMultiple([$model1, $model2, $model3, $model4, $model5]);
}
、私は「ユニークな」ルール等を有していて:
[['COUNTRY_LABEL'], 'required',
'when' => function ($model) {
return ($model->COUNTRY_ID == 0) || is_null($model->COUNTRY_ID);
}, 'whenClient' => "function (attribute, value) {
return ($('#country-country_id').val() == 0) || ($('#country-country_id').val() == \"\");
}"],
[['COUNTRY_LABEL'], 'unique', 'message' => 'Country already exist.')],
ともっと...
そして単一のビュー:
<?php
$form = ActiveForm::begin([
'options' => ['enctype' => 'multipart/form-data',],
'enableAjaxValidation' => true,
]);
?>
<?= $form->field($countryModel, 'COUNTRY_LABEL')->textInput(['maxlength' => true]) ?>
JSONが正常に動作し、私の見解では「空ではありません」というメッセージが表示されます。 'COUNTRY_LABEL'が一意であるかどうかをテストする場合、JSONは 'country already exists'を返しますが、ビューにメッセージを表示しません。
私は間違っていますか?