首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Symfony中提交表单后,如何切换哪些字段是必填字段?

在Symfony中提交表单后,如何切换哪些字段是必填字段?
EN

Stack Overflow用户
提问于 2011-02-09 00:36:26
回答 1查看 295关注 0票数 1

我正在使用的系统基于用户和慈善帐户,每个人都有一个用户帐户,但慈善机构有一个用户帐户和一个慈善记录与用户帐户相关联,用户id包含一些额外的字段。

我需要一个注册表单,允许人们注册为个人(只有一个用户帐户)或慈善机构(用户帐户+慈善机构记录),所以我将慈善机构表单嵌入到我的用户注册表单中,并在顶部添加了一个单选按钮问题,以找出用户注册的帐户类型。

我需要的是,当用户表示他们想要一个慈善帐户的慈善领域成为必需的,当他们表示他们想要成为一个人,他们不是(我隐藏他们与Javascript时,他们选择这个)。

我试过在用户选择慈善的时候运行它,但它似乎不起作用:

代码语言:javascript
复制
$this->register_form->getEmbeddedForm('charity')->getValidator("name")->setOption("required", true)

有没有人能告诉我正确的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-11 16:35:20

首先,最好将此逻辑放在form类中,而不是放在操作中。其次,当嵌入表单时,它会将validatorschema复制到父表单,这就是为什么更改嵌入表单本身的选项不会产生任何影响。

另一种实现你想要做的事情的方法可能是:

代码语言:javascript
复制
class myForm extends BaseForm {

  public function configure() {
    // set up widgets, validators etc
  }

  protected function doBind($values) {
    is (!empty($values['charity']['charityCheckbox']) {
      $this->validatorSchema['charity']['name']->setOption('required', true);
    }
    parent::doBind($values);
  }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4935659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档