【问题标题】:No error message show in yii2yii2中没有错误信息显示
【发布时间】:2015-06-17 20:05:40
【问题描述】:

我不能不显示错误消息。

这是我的网站代码。

<div class="login_wrapper">
<div class="row">
    <div class="left_block">
        <div class="row">
            <form class="col-md-12 col-sm-12 col-xs-12">
                <h2 class="login_heading">Login</h2>
                <div class="row">
                    <?php $form = ActiveForm::begin([
                        'fieldConfig' => [
                            'template' => "{beginWrapper}\n{input}\n{hint}\n{error}\n{endWrapper}",
                        ]]); ?>
                    <div class="input-field col-md-12 col-sm-12 col-xs-12">
                        <?= $form->field($model, 'username', [
                            'inputTemplate' => '<i class="ion-person prefix"></i>{input}<label for="icon_prefix-2" >
                            Username</label>',])->textInput(['id' => 'icon_prefix-2', 'class'=>' validate', 
                            'autocomplete' => 'off'])?>
                    </div>
                    <div class="input-field col-md-12 col-sm-12 col-xs-12">
                        <?= $form->field($model, 'password', [
                            'inputTemplate' => '<i class="ion-locked prefix"></i>{input}<label for="icon_prefix-2" >
                            Password</label>',])->passwordInput(['id' => 'icon_prefix-3', 'class'=>'validate', 
                            'autocomplete' => 'off', 'onpaste' => 'return false']) ?>
                    </div>                                
                    <div class="clearfix"></div>
                    <?= Html::submitButton('Login', ['class' => 'btn btn-primary btn-block', 'name' => 'login-button']) ?>
                    <?php ActiveForm::end(); ?>
                </div>
            </form>
        </div>
    </div>
</div>

即使我清空所有输入字段,它也不会显示错误消息。

【问题讨论】:

    标签: yii2 yii2-advanced-app


    【解决方案1】:

    检查 yourApp/web/index.php 中是否有这些设置:

    defined('YII_DEBUG') or define('YII_DEBUG', true);
    defined('YII_ENV') or define('YII_ENV', 'dev');
    

    查看 Yii 调试器

    【讨论】:

    • 请告诉我viewscontroller action 中的表单名称
    【解决方案2】:

    您需要从页面中删除&lt;form class="col-md-12 col-sm-12 col-xs-12"&gt;&lt;/form&gt;,因为&lt;?php $form = ActiveForm::begin();?&gt; 会在需要时生成正确的form 标记和csrf-token

    同时检查你的模型是否有validation rules。 Yii2 默认提供提交前的 js 字段验证(用于默认验证器)。

    如果 js 验证以某种方式通过,但您确定它不应该通过,请在 ActiveForm::begin()ActiveForm::end() 方法调用之间的某个位置添加 &lt;?= $form-&gt;errorSummary($model)?&gt;

    【讨论】:

    • 添加 errorSummary 确实最终显示了错误。但我想知道,为什么警报小部件没有先捕获它。
    猜你喜欢
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 2022-08-15
    相关资源
    最近更新 更多