Forms Yii CActiveForm验证错误

Forms Yii CActiveForm验证错误,forms,validation,error-handling,yii,Forms,Validation,Error Handling,Yii,我正在使用 echo $form->error($model,'username'); 显示属性的验证错误。但默认情况下,它使用带有自定义类的div标记来包装消息本身。我想使用另一个标记和类。如何更改它?我想您必须重写CActiveForm类的error()方法。您还可以使用errorMessageCssClass类属性更改错误消息的CSS。在视图文件中呈现错误之前,您可以更改CHtml的静态errorContainerTag: <?php CHtml::$errorContain

我正在使用

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

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

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

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

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

实现结果有两种方法。
您可以在表单小部件的定义中使用$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'); ?>

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