2011-07-22 8 views
7

私はdrupal 7ウェブサイトにwebformsを持っています。私が望むのは私のウェブフォームフィールドを検証することです。 webformには、数字フィールドを受け入れる必要がある電話番号フィールドが含まれています。数字は10個だけです。このためのモジュールがありますか、これをコード化する必要がありますか?モジュールなどを作成するDrupalのdrupal 7でwebform検証を適用するにはどうすればよいですか?

にカスタム検証を適用する

答えて

7

使用hook_form_alter() MyModuleという

ファイルmymodule.module我々は、各フィールドにバリデーションルールを設定することができる場所Webform Validationという名前のモジュールがあり

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

1

を使用するようにしたい場合。ここで

は、そのプロジェクトページからの抜粋です:

...あなたのWebフォームコンポーネントの検証ルールを指定することができ、各Webフォームノードに余分なタブが追加されます。 1つまたは複数の定義済みの検証ルールを作成し、検証対象のWebフォームコンポーネントを選択できます。このモジュールが提供するフックを使用することで、独自のモジュールで独自の検証ルールを定義することもできます。

+0

ドキュメントを見つける場所に関する情報を追加する場合があります –

0

Webform Validationモジュールは、フォームフィールドの検証に非常に役立つモジュールです。

...各Webformノードに余分なタブを追加し、Webフォームコンポーネントの検証規則を指定できるようにします。 1つまたは複数の定義済みの検証ルールを作成し、検証対象のWebフォームコンポーネントを選択できます。このモジュールが提供するフックを使用することで、独自のモジュールで独自の検証ルールを定義することもできます。

関連する問題