我已经从yii 1.1和yii 2.0转移了,我必须在表单顶部显示我的属性错误,并且没有内联错误,但是发现很难做到这一点,为了达到我的要求,我尝试将下面的代码放在顶部我的表格:
<?= Html::error($model, 'username',['class'=>'help-block']); ?>
但是在正常提交和验证时,它不会在ajaxValidationclientValidation上显示任何错误,并且会显示错误。

我是在做错什么,还是有其他方法可以实现?还是错过或遗漏了?

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

最佳答案

您应该能够使用ActiveRecord类的getErrors()函数获得它们。对于您的代码,您想要这样的东西;

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

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

关于php - HTML::Error似乎不适用于ajaxValidation或clientsidevalidation,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32614228/

10-13 01:37