8

drupal7のWebサイトにWebフォームがあります。私が欲しいのは私のウェブフォームフィールドを検証することです。Webフォームには、数値フィールドを受け入れる電話フィールドが含まれており、10個の数字のみが含まれている必要があります。このためのモジュールはありますか、それともこれをコーディングする必要がありますか?

4

2 に答える 2

7

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にアクセスしてください。

于 2011-07-22T06:13:25.403 に答える
2

各フィールドの検証ルールを設定できるWebformValidationという名前のモジュールがあります。

プロジェクトページからの抜粋は次のとおりです。

...各Webフォームノードに追加のタブを追加して、Webフォームコンポーネントの検証ルールを指定できるようにします。1つ以上の事前定義された検証ルールを作成し、それらに対して検証するWebフォームコンポーネントを選択できます。このモジュールが提供するフックを使用することで、独自のモジュールで独自の検証ルールを定義することもできます。

于 2012-06-30T11:37:18.130 に答える