[英]Yii2 unique validator error display not set to form field
我為模塊使用yii2 RESTapi。我的問題是驗證工作正常,錯誤消息也以json格式顯示在控制台中,但未在表單字段中設置。請參閱圖片以獲取更多信息。請幫助我。 。
這是模特
public function rules()
{
return [
[['username'], 'required'],
[['username'],'unique'],
}
視圖:
<?php $form = ActiveForm::begin([
'id' => 'cab-form',
'enableAjaxValidation' => true,
])
; ?>
<?= $form->field($model, 'username')->textInput(['maxlength' => true]) ?>
<div class="form-group">
<?= Html::submitButton( 'Create', ['class' => 'btn btn-success','id'=>'submit-btn']) ?>
</div>
<?php ActiveForm::end(); ?>
控制器:
public function actionCreate(){
$model = new Cab;
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
$post_data = Yii::$app->request->post();
$model->load($post_data);
$model->save();
return $model;
}
謝謝...
唯一需要AjaxValidation才能工作。 您需要在控制器中驗證是否存在ajax請求,並返回以JSON編碼的驗證。 請參閱以下示例:
if ($model->load(Yii::$app->request->post()) {
if (Yii::$app->request->isAjax) {
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.