如何在 Yii2 表单错误摘要中显示 HTML 标签

sri*_*har 6 yii2 yii2-advanced-app yii2-basic-app yii2-model yii2-validation

我试图在登录时显示错误消息中的链接,但它不起作用。

验证中的错误消息LoginForm

$this->addError($attribute, 'Your account has been disabled. <a href=""> Enable It</a>');
Run Code Online (Sandbox Code Playgroud)

login.php(视图)中:

<?= $form->errorSummary($model); ?>
Run Code Online (Sandbox Code Playgroud)

我试过如下,但不工作:

 <?= $form->errorSummary($model,['errorOptions' => ['encode' => false,'class' => 'help-block']]); ?>
Run Code Online (Sandbox Code Playgroud)

我得到以下输出而不是渲染a标签:

错误总结

rob*_*006 10

如果要使用,则需要ActiveForm使用encodeErrorSummary属性在级别禁用编码$form->errorSummary($model)

<?= $form = ActiveForm::begin([
    'id' => 'login-form',
    'encodeErrorSummary' => false,
    'errorSummaryCssClass' => 'help-block',
]) ?>

<?= $form->errorSummary($model) ?>
Run Code Online (Sandbox Code Playgroud)

或者,您可以Html::errorSummary()直接使用:

<?= Html::errorSummary($model, ['encode' => false]) ?>
Run Code Online (Sandbox Code Playgroud)