Php Html::error不';t似乎正在进行ajaxValidation或clientsidevalidation

Php Html::error不';t似乎正在进行ajaxValidation或clientsidevalidation,php,yii2,Php,Yii2,我一直在从yii 1.1和yii 2.0转换,我必须在表单顶部显示我的属性错误,并且没有内联错误,但发现很难做到这一点,为了达到我的要求,我尝试在表单顶部添加以下代码: 但在正常提交和验证时,它不会在ajaxValidation和clientValidation上显示任何错误 我是否做错了什么,或者是否有其他方法来实现这一点,或者是否遗漏了这一点 <?php $form = ActiveForm::begin([ 'id' => 'login-form', 'enableAjaxV

我一直在从yii 1.1和yii 2.0转换,我必须在表单顶部显示我的属性错误,并且没有内联错误,但发现很难做到这一点,为了达到我的要求,我尝试在表单顶部添加以下代码:

但在正常提交和验证时,它不会在
ajaxValidation
clientValidation
上显示任何错误

我是否做错了什么,或者是否有其他方法来实现这一点,或者是否遗漏了这一点

<?php $form = ActiveForm::begin([
'id' => 'login-form',
'enableAjaxValidation' => true,
'enableClientValidation' => false,
'validateOnSubmit' => true,
'validateOnChange' => false,
'validateOnType' => false

]); ?>

//  Error for username attribute here is not showing up, on validating with ajax,
<?= Html::error($model, 'username', array('class' => 'loginerrors help-block')); ?> 
//  how to show the error here..?? In yii 1.1 we simply call $form->error($model, "username") but here there is nothing like it.

<div class="loginForm" id="login1">
<div class="container">
    <div class="row"> 
        <div class="span4 offset4 control-group" id="username_offset">
            <?= $form->field($model, 'username')->textInput(); ?> 
            //Not here, it is displaying the error here on ajax validation, by forming divs dynamically.
        </div>
        <div class="span4 control-group">
            <?= $form->field($model, 'password')->passwordInput(); ?>
        </div>
        <div class="span12">

                <?= Html::submitButton('Login', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
        </div>
    </div>
</div>

//使用ajax验证时,此处未显示用户名属性错误,
//如何在此处显示错误。。??在yii1.1中,我们只需调用$form->error($model,“username”),但这里没有类似的功能。
//这里不是,而是通过动态形成div,在ajax验证中显示错误。

您应该能够使用ActiveRecord类的函数获取这些。对于您的代码,您希望这样做

echo $model->getErrors('username');

这将返回与该字段相关的错误数组。即使只有一条错误消息,它也会返回一个数组

给出完整的表单代码。如果可能的话。@gamitg已完成,已更新。请检查。你也可以发布模型的规则吗?以防万一有人想知道这是怎么回事。给你。。