0

我有一些某种形式的需要字段,我希望它们在某个地方需要,而在另一个地方不需要(我想要它们,也许你建议我在 cck 中使用存在字段,但这个字段不在 cck 中。)我使用了 profile2 模块对于某些配置文件类型,我希望在配置文件类型编辑页面中作为示例name字段是必需的,并且在用户注册name字段中不需要。我尝试在表单更改中更改字段的#require属性name,它已正确更改,但在验证中告诉我该name字段是必需的。

      function mymodule_form_alter(&$form,&$form_state) {
            if ($form_id == 'user_register_form') {
              $form['profile_detailp']['field_name']['und']['#required']=0;
              ...
              }

      }

任何的想法 ?

4

2 回答 2

3

您的方法没问题,并且必须有效,但可能会在另一个模块中require再次使用。

     function mymodule_form_alter(&$form,&$form_state) {
        if ($form_id == 'user_register_form') {
          $form['profile_detailp']['field_name']['und']['#required']=0;
          ...
          }

  }
于 2012-09-04T19:10:00.720 回答
0

文本字段需要这样做

function mymodule_form_alter(&$form,&$form_state) {
  if ($form_id == 'user_register_form') {
    $form['profile_detailp']['field_name']['und'][0]['value']['#required']=0;
  }
}
于 2019-06-13T07:48:35.450 回答