Php Symfony添加和处理自定义表单字段
我正在使用Symfony和spreep生成一个名为BaseMeetingMeetingsForm的表单 在MeetingMeetingsForm.class.php中,我有以下配置方法: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
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在某个地方完成所有操作,除非你知道在哪里?好的,那就是你缺少的部分。如果抽象的标准处理不能自动获得所需的一切,则需要自己处理表单数据。有关表单操作,请参阅并向下滚动。它应该有你要找的信息。