Php sfValidator选择无效symfony 1.4
我正在用另一个表单的数据编写表单代码。我从带有“选项”的验证器那里得到了一个错误,错误显示:Php sfValidator选择无效symfony 1.4,php,forms,symfony1,Php,Forms,Symfony1,我正在用另一个表单的数据编写表单代码。我从带有“选项”的验证器那里得到了一个错误,错误显示:dia_semana[Invalid.]id\u programa[Invalid.]但我不知道如何解决这个问题。 这是我的代码: public function configure() { $this->setWidgets(array( $this->validatorSchema->setOption('allow_extra_fields', true)
dia_semana[Invalid.]id\u programa[Invalid.]
但我不知道如何解决这个问题。
这是我的代码:
public function configure()
{
$this->setWidgets(array(
$this->validatorSchema->setOption('allow_extra_fields', true);
$this->validatorSchema->setOption('filter_extra_fields', true);
$this->setWidgets(array(
'dia_semana' => new sfWidgetFormChoice(array('label' => 'Data da Semana','choices' => array("" => "", "segunda" => "Segunda-Feira","terca" => "Terca-Feira"))),
'id_programa' => new sfWidgetFormChoice(array('label' => 'Programa',
'choices' => Doctrine_Core::getTable('tbprogramas_tv')->getProgramas())),
));
$this->setValidators(array(
'dia_semana' => new sfValidatorChoice(array(
'choices' => array("" => "","segunda" => "Segunda-Feira", "terca" => "Terca-Feira"), 'required' => false)),
'id_programa' => new sfValidatorChoice(array(
'choices' => array_keys(Doctrine_Core::getTable('tbprogramas_tv')->getProgramas()),
'required' => false)),
));
}
有人能帮我吗
sfValidatorChoice
仅使用数组的值作为有效值,因此您必须仅提供['key'=>'value']
对,而不是['key']
:
public function configure()
{
$this->setWidgets(array(
$this->validatorSchema->setOption('allow_extra_fields', true);
$this->validatorSchema->setOption('filter_extra_fields', true);
$dias = array("" => "", "segunda" => "Segunda-Feira","terca" => "Terca-Feira");
$programas = Doctrine_Core::getTable('tbprogramas_tv')->getProgramas();
$this->setWidgets(array(
'dia_semana' => new sfWidgetFormChoice(array('label' => 'Data da Semana','choices' => $dias)),
'id_programa' => new sfWidgetFormChoice(array('label' => 'Programa',
'choices' => $programas)),
));
$this->setValidators(array(
'dia_semana' => new sfValidatorChoice(array(
'choices' => array_keys($dias), 'required' => false)),
'id_programa' => new sfValidatorChoice(array(
'choices' => array_keys($programas)),
'required' => false)),
));
}
sfValidatorChoice
仅使用数组的值作为有效值,因此您必须仅提供['key'=>'value']
对,而不是['key']
:
public function configure()
{
$this->setWidgets(array(
$this->validatorSchema->setOption('allow_extra_fields', true);
$this->validatorSchema->setOption('filter_extra_fields', true);
$dias = array("" => "", "segunda" => "Segunda-Feira","terca" => "Terca-Feira");
$programas = Doctrine_Core::getTable('tbprogramas_tv')->getProgramas();
$this->setWidgets(array(
'dia_semana' => new sfWidgetFormChoice(array('label' => 'Data da Semana','choices' => $dias)),
'id_programa' => new sfWidgetFormChoice(array('label' => 'Programa',
'choices' => $programas)),
));
$this->setValidators(array(
'dia_semana' => new sfValidatorChoice(array(
'choices' => array_keys($dias), 'required' => false)),
'id_programa' => new sfValidatorChoice(array(
'choices' => array_keys($programas)),
'required' => false)),
));
}