【问题标题】:Validate Yii2 Activeform on simple button click通过简单的按钮单击验证 Yii2 Activeform
【发布时间】:2016-10-26 05:06:27
【问题描述】:

我想在不是 submitButton 的简单按钮单击上验证我的 Yii2 activeform。我试过$('#formId').yiiActiveForm("validate"),但它不起作用。

我也试过 - $('#formId').yiiActiveForm('submitForm') 它验证表单,但如果一切正常,它也会提交它。我不想提交那个表格。我只想在按钮单击时验证它,如果一切正常,我想打开一个模式弹出窗口。

在按钮单击时验证此活动表单的可能方法有哪些

【问题讨论】:

    标签: php yii2 yii2-basic-app yii2-validation


    【解决方案1】:

    要验证您的表单,请仅在您的操作中执行 ajax 验证,如下所示。这只会验证您的表单

    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();
            }
        }
    

    【讨论】:

    • 谢谢尼廷。快完成了,你能再建议一件事吗?它没有从字段中删除错误类。即使输入正确的数据。验证工作正常,只是错误消息没有被删除
    • 您需要将enableAjaxValidation,enableClientValidation,validateOnChange,validateOnSubmit等表单属性设置为true
    • 我尝试了 validateOnChange 和 validateOnBlur 但仍然显示错误消息。
    • enableAjaxValidation 呢?是否设置为 true
    • 设置为真值
    【解决方案2】:

    您必须在表单的选项中设置enableClientValidation = false,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-24
      • 2018-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多