我想自动为我的Zend_Form元素添加前缀,这样我可以在POST表单时更容易将它们映射到我的模型上。例如,我有一个与两个模型相关的元素。Zend_Form元素的命名
我创建的形式,像这样:
$this->setMethod('post');
$this->addElement('text', 'name', array(
'label' => 'Your Name',
'required' => true,
));
$this->addElement('text', 'tel', array(
'label' => 'Your Telephone',
'required' => true,
));
$this->addElement('text', 'email', array(
'label' => 'Your Email Address',
'required' => true,
'filters' => array('StringTrim','StringToLower'),
'validators' => array('EmailAddress'),
));
$this->addElement('password', 'password', array(
'label' => 'Your Password',
'required' => true,
));
$this->addElement('text', 'surgery_name', array(
'label' => 'Surgery Name',
'required' => true,
));
的问题是,手术名称字段需要与surgery_手动前缀。我最想做的是为第一组字段(比如User)设置一个前缀,然后为第二组字段(比如Surgery)设置一个前缀。
然后,我的元素名称看起来是这样的:
User.Name User.Email User.Tel
Surgery.Name
等
然后,当我来到地图他们到我的模型,应该更容易计算出哪些FORM字段映射。
可能是子窗体一个很好的候选人? –
我对子表格不太了解 - 是另一个Zend Framework类吗? –
是的,我已经在答案中发布了更多信息和代码示例。 –