Как применить проверку веб-формы в Drupal 7? - PullRequest
8 голосов
/ 22 июля 2011

У меня есть веб-формы на моем сайте drupal 7.Что я хочу, чтобы проверить мои поля веб-формы.Веб-форма содержит поле телефона, которое должно принимать числовое поле и должно содержать только 10 цифр.Есть ли какой-нибудь модуль для этого или мне придется код для этого.

Ответы [ 2 ]

7 голосов
/ 22 июля 2011

Используйте hook_form_alter(), чтобы применить пользовательскую проверку в drupal

создать модуль, например, mymodule

файл mymodule.module

function mymodule_form_alter(&$form, &$form_state, $form_id)
{
    print $form_id;

    if($form_id=='webform_client_form_1') //Change webform id according to you webformid
    {
        $form['#validate'][]='mymodule_form_validate';
        return $form;
    }
}

function mymodule_form_validate($form,&$form_state)
{
    //where "phone" is field name of webform phone field
    $phoneval = $form_state['values']['submitted']['phone'];

    if($phoneval=='')
    {
        form_set_error('phone','Please fill the form field');
    }
    // Then use regular expression to validate it.
    // In above example i have check if phonefield is empty or not.
}

Если вы хотите более подробно узнать, какиспользовать hook_form_alter() перейдите по этой ссылке http://www.codeinsects.com/drupal-hook-system-part-2.html

2 голосов
/ 30 июня 2012

Существует модуль с именем Проверка веб-формы , где мы можем установить правила проверки для каждого поля.

Вот выдержка из его страницы проекта:

... добавляет дополнительную вкладку к каждому узлу веб-формы, позволяя указать правила проверки для компонентов веб-формы.Вы можете создать одно или несколько предопределенных правил проверки и выбрать, какие компоненты веб-формы должны быть проверены на соответствие этим требованиям.Используя хуки, предоставляемые этим модулем, вы также можете определить свои собственные правила проверки в ваших собственных модулях.

...