2018-08-26 15:05:14 2218次浏览 5条回答 1 悬赏 10 金钱
<?php $form = ActiveForm::begin(['enableAjaxValidation' => true]); ?>
    <?= $form->field($model, 'username')->textInput() ?>
    <?= $form->field($model, 'password')->passwordInput() ?>
    <?= Html::submitButton('登录') ?>
<?php ActiveForm::end(); ?>

前端提交的数据采用ajax方式进行验证,如果验证不通过,怎么将验证提示信息用alert弹窗的形式提示,而不是系统默认的在输入框后面提示?

  • 回答于 2018-08-27 08:13 举报

    那就将ajax返回错误提示弹出来不就解决了

  • 回答于 2018-08-27 08:24 举报

    用yii前台不熟悉就不要用了,那样容易被"套",
    我就后端用yii前端都自己弄,没用他们集成的前端框架。

    不熟悉他这前端,也不想去熟悉,

  • 回答于 2018-08-27 09:22 举报
    1. 可以在你验证错误的时候用 Yii::$app->getSession()->setFlash('error', 'xxx验证不通过');
    2. 如果你比较奔放,直接在后台 echo "<script>alert('xxx')</script>"
  • 回答于 2018-08-29 23:29 举报
                $("#registerform").on("afterValidate", function (event, messages, errorAttributes) {
                    var errorLength=errorAttributes.length;
                    var currentstep=$('#currentstep').val();
                    if(errorLength>0){
                        alert(messages)
                    }
                });
    
  • 回答于 2018-11-16 13:16 举报

    没错,给指定的属性增加监听事件(afterValidate),在这里拦截服务端返回的错误信息,自定义展示格式就行。

您需要登录后才可以回答。登录 | 立即注册
驰而不息以梦为马
实习生

驰而不息以梦为马

注册时间:2017-09-15
最后登录:2018-08-26
在线时长:0小时28分
  • 粉丝0
  • 金钱0
  • 威望0
  • 积分0

热门问题