1

我使用 Drupal 7.x。我在用户配置文件表单中添加了几个字段。

在注册时我不需要它们,但在第一次登录时必须填写。我不能使用 Profile2 模块。

在我的模块中:

function mymodule_form_user_profile_form_alter(&$form, &$form_state) {      
          $form['field_test_field']['#required'] = 'TRUE';   
}

该函数被触发,但不要使其成为必需。

我也试过:

$form['field_test_field'][0]['#required'] = 'TRUE';  
$form['#field_info']['field_test_field']['required'] = '1'; 

如何使user_profile_form 表单中的必填字段更改?

4

3 回答 3

2

以下示例可用于文本字段:

$form['field_full_name'][LANGUAGE_NONE]['0']['value']['#required'] = TRUE;

第二个示例是电子邮件字段:

$form['field_custom_email_address'][LANGUAGE_NONE]['0']['email']['#required'] = TRUE;

于 2013-04-22T16:34:32.663 回答
0

您当前正在将 #required 设置为字符串(使用单引号),而不是它需要的布尔值。试一试$form['field_test_field']['#required'] = true;

于 2012-09-27T17:30:44.590 回答
0

我找到了解决方案:How to disable a field or make it readonly in Drupal 7

$form['field_secured_title']['und']['0']['value']['#attributes']['disabled'] = TRUE;

这行得通。

但是,如果我使用多语言,它仍然可以工作吗?

对不起我的英语不好。

于 2012-09-28T06:11:29.953 回答