2016-08-03 25 views
0

Ich bin mit Ajax-Validierung in pjax Form wie dieseAjax Validierung in pjax Form in yii2

<?php Pjax::begin(); ?> 
<?php $form = ActiveForm::begin([ 
    'id' => 'address-details-form',         
'options' => ['class' => 'form-horizontal','data-pjax' => true,], 
'enableAjaxValidation'=>true, 
    ]); ?> 
//My form 
<?php ActiveForm::end(); ?> 
<?php Pjax::end(); 

Nachdem Sie das Formular eintragen werden einige Modelldaten veröffentlichen wie diese

"personaldetails-manual_address_line1" : ["Sie müssen Address Line1 eingeben"], "personaldetails-manual_address_line2": ["Sie müssen Address Line2 eingeben"], "personaldetails-manual_address_line3": ["Sie müssen Address Line3 eingeben"], "personaldetails-manual_address_line4": [ "Sie müssen Adresszeile4 eingeben"],

Eigentlich ist es mein Modell Regeln, warum es happens.But i Ajax Validierung entfernen bin, bedeutet es gut funktioniert, aber ich will Ajax Validierung

Antwort

0

Sie haben diese

if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) { 
    Yii::$app->response->format = Response::FORMAT_JSON; 
    return ActiveForm::validate($model); 
} 

in Ihrem Controller haben Dies sollte nur sein, nachdem Sie tun

$model = new [ModelClass](); 

mehr Details hier: http://www.yiiframework.com/doc-2.0/guide-input-validation.html#ajax-validation

+0

Ja, ich habe dies in meiner Controller-Aktion –

+0

können Sie versuchen, ohne 'Data-Pjax' => wahr? –

+0

ohne 'data-pjax' => true pjax funktioniert nicht –

0

Schließlich bekam ich pjax Form mit Ajax validation.I wie diese

if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post()) && $model->validate()) 

ich nicht nein es schreiben oder falsch mein Freund Ajax in meinem Controller kombinieren ganasa vorschlagen zu me.It für mich funktioniert gut.