2

I want to validate my Yii2 activeform on simple button click which is not submitButton. I tried $('#formId').yiiActiveForm("validate") but it is not working.

I also tried - $('#formId').yiiActiveForm('submitForm') it validates form but it also submit it if everything is ok. I don't want to submit that form. I just want to validate it on button click and if everything is ok than i want to open a modal popup.

What are possible ways to validate this activeform on button click

Ninja Turtle
  • 1,293
  • 2
  • 24
  • 50

2 Answers2

2

To validate your form perform ajax validation only inside your action as follows. This will only validate your form

public function actionValidateForm() {
        $model = new Form();

        if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
            Yii::$app->response->format = Response::FORMAT_JSON;
            return ActiveForm::validate($model);
            Yii::$app->end();
        }
    }
Nitin Pund
  • 1,082
  • 2
  • 9
  • 23
1

You have to set enableClientValidation = false, in you'r form's options .

Mohan
  • 606
  • 4
  • 11