public function configure()
{
$this->widgetSchema['start_date'] = new sfWidgetFormInput();
$this->widgetSchema['end_date'] = new sfWidgetFormInput();
$this->validatorSchema->setPostValidator(new sfValidatorOr (array(
new sfValidatorAnd(array
(new sfValidatorSchemaCompare('start_date', sfValidatorSchemaCompare::NOT_EQUAL, null),
new sfValidatorSchemaCompare('end_date', sfValidatorSchemaCompare::EQUAL, null)
)),
new sfValidatorSchemaCompare('start_date', sfValidatorSchemaCompare::LESS_THAN_EQUAL, 'end_date',
array('throw_global_error' => false), array('invalid' => 'The start date ("%left_field%") must be before the end date ("%right_field%")')))));
}
我有以下我想检查是否结束日期不早于开始日期输入日期:symfony的sfValidatorSchemaCompare和日期格式输出问题
输入:开始=> 31/03/10结束=> 07/03/10 输出:开始日期(2010-03-31)必须在结束日期之前(2010-03-07)
您能以某种方式更改日期输出吗?我需要错误信息将日期格式设置为与输入相同。 当出现错误时,我的输入字段也会设置错误的日期格式。
尝试了几件事情,但在这一刻没有运气。没有找到自己的解决方案或关于symfony的信息。
我使用symfony的版本1.2.11
鉴于您正在处理输入字符串,可能更容易在表单发布之后在您的操作中检查此操作,并根据需要从此处引发错误或强制值。也许别人有更好的主意。 – Tom 2010-03-30 15:22:37