2011-12-01 11 views
0

私はラベルにクラスを追加したいhook_validateを使用して、それを検証するとき、私は、チェックボックスdrupal 7 form validate add class?私のフォームで

$form['existing_customer'] = array(
'#type' => 'checkbox', 
'#title' => t('Are you an existing customer?') 
); 

を作成しますか?どのようにこれを達成するための任意のアイデアですか?

答えて

0

なぜ検証機能でこれをやりたいのか想像がつきませんし、あなたがしようとしていることを達成するためのもっと簡単な方法があると思います。

Drupalフォームの各要素は、コンテナ(IDを持つ)でラップされています。この容器の中には1つのラベルしかありません。

だから、あなたはちょうどこのような何かをする必要があるCSSやJSの要素をターゲットにする必要がある場合:

#existing-customer-edit label { 
    // The rule 
} 

OR

$('#existing-customer-edit label').something(); 

あなたが本当に手動で、ラベルを編集する必要がある場合その要素のカスタムテーマを提供する必要があります。詳しくはthis exampleをご覧ください(Drupal 6のコンセプトはDrupal 7と同じです)。クライヴは、フォームの検証機能で周り

$form_state['complete form']['myselectbox']['#title'] = '<span class="privacy-error">you did not check me</span>'; 

をかなり厄介な仕事をした

+0

私はそれを赤にしてエラーを強調したいからです。 – LeBlaireau

+0

Drupalは、あなたのために、 'valid_function 'の' form_set_error(' existing_customer '、' The Error '); 'を使用します。 – Clive

+0

私はform_set_errorを使用していますが、テキストフィールドはエラークラスを追加しますが、 。 – LeBlaireau

0

おかげでそれはかなりはありませんが、それは動作します!

関連する問題