Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony添加和处理自定义表单字段_Php_Forms_Symfony1_Symfony 1.4_Propel - Fatal编程技术网

Php Symfony添加和处理自定义表单字段

Php Symfony添加和处理自定义表单字段,php,forms,symfony1,symfony-1.4,propel,Php,Forms,Symfony1,Symfony 1.4,Propel,我正在使用Symfony和spreep生成一个名为BaseMeetingMeetingsForm的表单 在MeetingMeetingsForm.class.php中,我有以下配置方法: public function configure() { $this->useFields(array('name', 'group_id', 'location', 'start', 'length')); $this->widgetSchema['invited'] = ne

我正在使用Symfony和spreep生成一个名为BaseMeetingMeetingsForm的表单

在MeetingMeetingsForm.class.php中,我有以下配置方法:

public function configure() {
    $this->useFields(array('name', 'group_id', 'location', 'start', 'length'));

    $this->widgetSchema['invited'] = new myWidgetFormTokenAutocompleter(array("url"=>"/user/json"));
}
在MeetingMeetings.php中,我的保存方法很简单:

  public function save(PropelPDO $con = null) {
    $this->setOwnerId(Meeting::getUserId());

    return parent::save($con);
  }
但是,propel不知道我的自定义字段,因此不使用它。我在哪里以及如何在一个特殊的部分,可以处理这个表单字段,请注意,这不仅仅是一个简单的保存到数据库,我需要处理输入前,特别是输入


感谢您的时间和建议,

您必须定义一个验证器(和/或创建自己的验证器)。验证程序
clean()
方法返回需要持久化的值

在Doctrine(我不知道)中,表单然后调用表单上的
doUpdateObject()
,这反过来又调用模型上的
fromArray($arr)
函数


因此,如果它已经是模型上的一个属性,则只需创建验证器。如果它是一个更复杂的小部件,您需要在表单中添加一些逻辑。

您必须定义一个验证器(和/或创建自己的验证器)。验证程序
clean()
方法返回需要持久化的值

在Doctrine(我不知道)中,表单然后调用表单上的
doUpdateObject()
,这反过来又调用模型上的
fromArray($arr)
函数


因此,如果它已经是模型上的一个属性,则只需创建验证器。如果它是一个更复杂的小部件,您需要在表单中添加一些逻辑。

请在读取/处理表单数据的地方共享代码。没有代码,symfony会在某个地方完成所有操作,除非您知道在哪里?好的,那么这就是您缺少的部分。如果抽象的标准处理不能自动获得所需的一切,则需要自己处理表单数据。有关表单操作,请参阅并向下滚动。它应该有你正在寻找的信息。请在你读取/处理表单数据的地方共享代码。没有,symfony在某个地方完成所有操作,除非你知道在哪里?好的,那就是你缺少的部分。如果抽象的标准处理不能自动获得所需的一切,则需要自己处理表单数据。有关表单操作,请参阅并向下滚动。它应该有你要找的信息。