Как скрыть необходимый виджет ввода CCK Nodereference в #after_build?

После того, как узел был сохранен, я бы хотел заблокировать пользователям редактирование обязательного поля ссылки на узел. Я попытался изменить тип на 'nodereference_hidden', как это, но тогда отправка не будет подтверждена: поле обязательно для заполнения.

... Так что я не стал проверять 'required' в пользовательском интерфейсе настройки поля и скрывал его так:

$form['field_my_nodereference_field'][0]['#type'] = 'nodereference_value';

Так как он передается как значение, нет причин его терять, но я бы чувствовал себя безопаснее, оставляя поле "обязательным".

1 ответ

Решение

Проверка 'требуемого' друпала делает некоторые забавные вещи (удаление css, сброс многоэтапных форм и т. Д.), К счастью, вы можете добавить свою собственную функцию hook_validate, которая проверяет значение, проверяет его правильность и т. Д. Добавьте красную звездочку и назовите это день.

Другие вопросы по тегам