【问题标题】:How to show form errorSummary() in red?如何以红色显示表单 errorSummary()?
【发布时间】:2015-07-08 06:55:12
【问题描述】:

我有这个表格:

<?php 
   $form = $this->beginWidget('CActiveForm', array(
            'id' => 'login-form',
            'enableClientValidation' => true,
            'clientOptions' => array(
                'validateOnSubmit' => true,
            ),
        ));


    $errorMsg = $form->errorSummary($userModel, "", "");

    if(!empty($errorMsg))
    {
        echo '<div class="alert alert-danger" style="text-align:center; width:800px; margin:auto;">' . $errorMsg . '</div>';
         echo '<br>';
     }

    $form->labelEx($userModel, 'email');
    echo $form->textField($userModel, 'email');
    $form->error($userModel, 'email');
?>

我正在尝试在电子邮件无效时打印错误消息,但我想使用引导程序中的红色背景打印它。问题是没有任何错误它仍然显示红色条。

这似乎是因为errorSummary() 从来都不是真正的null


输出:

【问题讨论】:

  • 你的意思是 $errorMsg 而不是 errorSummery() 还是?发布一个 var_dump($errorMsg)
  • $errorMsg = errorSummary() 。但是 var 转储打印 NULL.
  • 在 if 条件中使用 isset($errorMsg)。你可以在这里找到答案stackoverflow.com/questions/5615747/…

标签: php html forms yii widget


【解决方案1】:

摘要不是这样运作的。

errorSummary()-函数始终返回要添加到页面的内容。
如果没有错误,该函数确保返回的div 被标记为隐藏。

这样做的原因是摘要也用于前端验证。 javascript 将在需要时更新并隐藏/显示div

所以基本上你应该这样做:

echo $form->errorSummary($userModel, "", "", array('class' => "alert alert-danger"));

并摆脱多余的if(!empty($errorMsg)) ...

【讨论】:

【解决方案2】:

你可以像这样改变班级:

<?= $form->errorSummary($model, ['class' => 'alert alert-danger']); ?>

【讨论】:

    猜你喜欢
    • 2012-07-13
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    相关资源
    最近更新 更多