2013-04-09 2 views
0

Я хотел бы изменить (зашифровать) пароль для входа в Drupal, прежде чем он отправит его на сервер. Я не нашел никакого модуля для этого (проверка перед отправкой), и я не смог найти способ проверки полей до их отправки на сервер.Drupal - Подтвердить форму перед отправкой/Шифровать пароль перед отправкой

Есть ли способ решить эту проблему?

Спасибо!

ответ

-1

Создайте свой собственный модуль и использовать hook_form_alter, чтобы добавить новые пользовательские проверки и представление обратных вызовов:

function YOUR_MODULE_form_alter(&$form, &$form_state, $form_id) 
{ 
    if($form_id == "user_profile_form") { 
     $form['#validate'][] = 'your_new_validation_callback'; 
     $form['#submit'][] = 'your_new_submission_callback'; 
    } 
} 

function your_new_validation_callback($form, &$form_state) 
{ 
    // add your validation logic 
} 

function your_new_submission_callback($form, &$form_state) 
{ 
    // add your submission logic 
} 

Надеется, что это помогает.

+0

Hi! Но мне нужна проверка «до», которую он отправляет с клиентской стороны на сервер. Таким образом, это не сработает, не так ли? Спасибо! – user1695700

+0

Вот и вся цель проверки. Это называется ** до ** представления. И если что-то пойдет не так, вы можете использовать ['form_set_error'] (http://api.drupal.org/api/drupal/includes!form.inc/function/form_set_error/6), чтобы подать сообщение об ошибке в элемент формы. В этом случае ваша функция отправки не будет достигнута. – Max

+0

Что касается http-трафика, то он прав: этот способ не изменяет данные, которые отправляются из браузера на сервер. Проверка выполняется только тогда, когда данные доходят до сервера в форме запроса HTTP POST. – kekkis