我正在尝试学习 symfony .. 有人可以告诉我是否有类似的方法renderErrorText()
吗?因为这个方法renderError()
输出带有 ul/li 标签的 html。我只想要错误的文本而不是它的 html。
问问题
272 次
1 回答
0
您需要定义自己的装饰器。使用renderError
预先格式化的格式来显示 html 渲染器。
创建一个文件,如lib/form/sfWidgetFormSchemaFormatterMyFormatter.class.php
:
<?php
class sfWidgetFormSchemaFormatterMyFormatter extends sfWidgetFormSchemaFormatter
{
protected
$rowFormat = '',
$helpFormat = '%help%',
$errorRowFormat = '%errors%',
$errorListFormatInARow = " <ul class=\"error_list\">\n%errors% </ul>\n",
$errorRowFormatInARow = " <li>%error%</li>\n",
$namedErrorRowFormatInARow = " <li>%name%: %error%</li>\n",
$decoratorFormat = '',
$widgetSchema = null,
$translationCatalogue = null;
在这个类中,您可以定义如何格式化和呈现错误。
然后,您需要将此类定义为表单的默认格式化程序。如果这是关于您的前端环境,请在apps/backend/config/frontendConfiguration.class.php
:
class frontendConfiguration extends sfApplicationConfiguration
{
public function configure()
{
sfWidgetFormSchema::setDefaultFormFormatterName('MyFormatter');
}
}
或者,如果您希望它对您的项目具有全局性,请在config/ProjectConfiguration.class.php
:
class ProjectConfiguration extends sfProjectConfiguration
{
public function setup()
{
sfWidgetFormSchema::setDefaultFormFormatterName('MyFormatter');
}
}
你会找到 :
于 2013-08-30T18:44:53.867 回答