簡體   English   中英

Yii2唯一驗證器錯誤顯示未設置為表單字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM