yii2 中没有错误信息显示

No error message show in yii2

我不能不显示错误信息。

这是我的站点代码。

<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>

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

检查 yourApp/web/index.php 中是否设置了:

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

并查看 Yii 调试器

您需要从页面中删除 <form class="col-md-12 col-sm-12 col-xs-12"></form>,因为 <?php $form = ActiveForm::begin();?> 会生成正确的 form 标记和 csrf-token 如果需要的话。

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

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