我使用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
字段为必填项?
答案 0 :(得分:2)
以下示例可用于文本字段:
$form['field_full_name'][LANGUAGE_NONE]['0']['value']['#required'] = TRUE;
第二个例子是电子邮件字段:
$form['field_custom_email_address'][LANGUAGE_NONE]['0']['email']['#required'] = TRUE;
答案 1 :(得分:0)
您当前正在将#required设置为字符串(使用单引号),而不是它需要的布尔值。给它一个去$form['field_test_field']['#required'] = true;
答案 2 :(得分:0)
我找到了解决方案:How to disable a field or make it readonly in Drupal 7
$form['field_secured_title']['und']['0']['value']['#attributes']['disabled'] = TRUE;
这很有用。
但如果我使用多语言它仍然有用吗?
抱歉我的英语。