2016-10-27 5 views
0

私はいくつかのvaldationを実行しています。フォーム要素の子であり、#rows属性でそれに関連付けられている配列の子要素の検証用のコードを書きましたが、その特定のコントロールを選択することができませんエンドユーザーは、ここにエラーがありますか?他の賢明な私はdrupalを使用してメッセージを設定している、私はちょうどコードを強調表示する必要があります。あなたとコードを共有しています。 アドバイスをお願い申し上げます。日付コントロールが送信された各列を選択し、値がdrupalフォームのコントロールを赤くハイライト表示するには、フォームセットエラーを使用します。検証するコントロールは親要素の#rows属性にありますか?

+0

多分、この投稿は役に立ちますhttp://drupal.stackexchange.com/questions/70539/form-set-error-highlight-single-field-in-multiple-value-field – Fky

答えて

0

をtrue.dされていない場合は、それを強調するためにどのように

$form['patient_videos'] = array(
 
      '#prefix' => '<div class="aa-patient-videos-container">', 
 
      '#suffix' => '</div>', 
 
      '#tree' => TRUE, 
 
      '#theme' => 'table', 
 
      '#header' => array(t('Title'), 
 
           t('Sent Date'), 
 
           t('Status'), 
 
           t('Customize'), 
 
           t('Include'), 
 
           t('Watched'), 
 
           t('No. Times View'), 
 
           t('No. Times Sent'), 
 
           t('First Send'), 
 
           t('Resend'), 
 

 
          ), 
 
      '#rows' => array(), 
 

 
      ### do not put #name on the form fields 
 
     ); 
 

 

 
$form['patient_videos'][] = array(
 
       'title'=>&$title, 
 
       'sent_date'=>&$sent_date, 
 
       'status'=>&$status, 
 
       'customize'=>&$customize, 
 
       'include'=>&$include, 
 
       'watched'=>&$watched, 
 
       'number_times_viewed'=>&$number_times_viewed, 
 
       'number_times_sent'=>&$number_times_sent, 
 
       'first_sent_date'=>&$first_sent_date, 
 
       'video_id'=>&$video_id, 
 
      ); 
 

 
      $form['patient_videos']['#rows'][] = array(
 
       array('data' => &$title), 
 
       array('data' => &$sent_date), 
 
       array('data' => &$status), 
 
       array('data' => &$customize), 
 
       array('data' => &$include), 
 
       array('data' => &$watched), 
 
       array('data' => &$number_times_viewed), 
 
       array('data' => &$number_times_sent), 
 
       array('data' => &$first_sent_date), 
 
       array('data' => &$video_id), 
 
      ); 
 

 

 

 
//USING LOOP TO ACCESS EACH ROW'S VALUES 
 
foreach ($form_state['values']['patient_videos'] as $key => $value){ 
 
. 
 
. 
 
. 
 
} 
 

 
form_set_error('$values][patient_videos][$key][email_schedule', t("You cannot enter bigger date from next video in ").$g);

ねえInline Form Error Moduleに試してみてください。

+0

こんにちはzubiありがとう、しかし私は働いていますフォームapiを使用してカスタムフォーム上にあり、ここにフォームの要素の#rows属性で添付された40個のレコードがあります –

関連する問題