JavaScript в Drupal , охватывает API-интерфейс Drupal JavaScript, формы AHAH и все, что вы ищете. Краткое руководство по началу работы довольно хорошо.
Что касается проверки, вы правы, Javascript можно отключить. Проверка JavaScript в основном делается для удобства использования, поскольку пользователю не нужно ждать, чтобы отправить свою форму, чтобы получить сообщение об ошибке. JavaScript сообщает ему в режиме реального времени, например, если его пароль слишком слабый или адрес электронной почты недействителен перед отправкой формы.
Проверка JavaScript, однако, не подходит для безопасности. Вот где вам нужно будет выполнить проверку на стороне сервера. form_set_error позаботится о проверке на стороне сервера.
Итак, если у вас есть форма, похожая на:
function form_foo($form_state) {
$form['foo'] = array(
'#type' => 'textfield',
'#title' => t('bar'),
'#default_value' => $object['foo'],
'#size' => 60,
'#maxlength' => 64,
'#description' => t('baz'),
);
return $form;
}
Проверка на стороне сервера будет выглядеть так:
function form_foo_validate($form, &$form_state) {
if (empty($form_state['values']['foo'])) {
form_set_error('foo', t('Foo cannot be empty.'));
}
}
Если текстовое поле панели в форме действительно пусто, то, когда пользователь отправляет, панель формы будет подсвечена, появится сообщение об ошибке «Не может быть пустым», а ловушка формы _submit вызываться не будет.
Для функциональности JavaScript в документе Обзор Drupal JavaScript API содержится большая часть информации, которая вам понадобится.