我正在使用symfony 1.4。
我有一个这样的表格:
验证
$this->setValidator('name', new sfValidatorString(array('required' => true)));
查看:
<?php echo $form['name']->renderError() ?>
如何更改默认的“必需”错误消息,例如“此字段是否必需”?
修改:此外,我如何摆脱<ul>
生成的<li>
和renderError()
标记。方法 ?我只想显示文本,没有额外的标记。
注意:这是一个显而易见的问题,但由于我花了很长时间才发现,我认为这个问题在这里被问到了。
答案 0 :(得分:5)
1.更改所需信息:
new sfValidatorString(
array(
'required' => true,
),
array(
'required'=>'You custom required message'
));
2.创建一个新的格式化程序类。
3.重新定义您想要的属性。
<?php
class myWidgetFormSchemaFormatter 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;
4.在symfony表单的configure方法中添加
$oDecorator = new myWidgetFormSchemaFormatter($this->getWidgetSchema());
$this->getWidgetSchema()->addFormFormatter('myCustom', $oDecorator);
$this->getWidgetSchema()->setFormFormatterName('myCustom');
答案 1 :(得分:4)
new sfValidatorString(array('required' => true), array('required'=>'This field is required'))
您可以通过扩展sfWidgetFormSchemaFormatter来格式化表单输出来创建自定义WidgetFormSchemaFormatter。