【问题标题】:Yii CActiveForm validation errorYii CActiveForm 验证错误
【发布时间】:2013-06-08 18:30:55
【问题描述】:

我正在使用

echo $form->error($model,'username');

显示属性的验证错误。但默认情况下,它使用带有自定义类的 div 标签来包装消息本身。我想使用另一个标签和类。怎么改?

【问题讨论】:

    标签: forms validation error-handling yii


    【解决方案1】:

    我想你必须重写CActiveForm 类的error() 方法。您还可以使用 errorMessageCssClass 类属性来更改错误消息的 CSS。

    【讨论】:

    • 好吧,很伤心,我希望有htmlOption来修改标签
    • 我不太确定我是否理解您的评论。什么意思?
    • 错误方法有 htmlOptions 数组,用于设置输出。似乎没有选项可以将标签从 div 切换到另一个
    • 是的,但您始终可以覆盖该方法并使用您喜欢的任何标签。
    【解决方案2】:

    您可以在视图文件中呈现错误之前更改CHtml 的静态errorContainerTag

    <?php
    CHtml::$errorContainerTag = 'span';
    

    【讨论】:

      【解决方案3】:

      您有两种方法来实现您的结果。 您可以在表单小部件的定义中使用 $errorMessageCssClass 属性 像这样:

      $form = $this->beginWidget ( 'CActiveForm', array (
      'id' => 'test-form',
      'enableClientValidation' => true,
      'errorMessageCssClass'=>'the error class you want',...........
      

      这将适用于表单中的所有元素... 或者 您可以更具体地使用以下项目:

      <?php echo $form->error($model,'password', array('class'=>'your desired class'); ?>
      

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多