我正在尝试将sfWidgetFormJQueryDate添加到我的项目中,但它不想通过验证,当我尝试过滤时,它会显示“Date Invalid”。
这是代码:
$this->setWidgets(array(
'date' => new sfWidgetFormDateRange(
array(
'from_date' => new sfWidgetFormJQueryDate(array(
'config' => '{buttonText: "Choose Date"}',
'date_widget' => new sfWidgetFormDate(array('format' => '%year%-%month%-%day%'))
)
),
'to_date' => new sfWidgetFormJQueryDate(array(
'config' => '{buttonText: "Choose Date"}',
'date_widget' => new sfWidgetFormDate(array('format' => '%year%-%month%-%day%'))
)
))),
// ...
$this->setValidators(array(
'date' => new sfValidatorDateRange(
array('required' => false,
'from_date' => new sfValidatorDate(
array('required' => false)
),
'to_date' => new sfValidatorDate(
array('required' => false)
))),
我可能错过了一些东西。
答案 0 :(得分:7)
我找到了答案,这是sfWidgetFormJQueryDate的javascript中的一个错误。
sfWidgetFormJQueryDate.class.php,第106行。需要更改
jQuery("#%s option").attr("disabled", '');
到
jQuery("#%s option").attr("disabled", false);
因为错误的代码会导致 day 的所有选项被禁用。