drupal 7表单验证添加类?

时间:2011-12-01 10:54:48

标签: forms drupal-7 validation

在我的表单中,我创建了一个复选框

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

当我使用hook_validate验证它时,我想在标签中添加一个类?任何想法如何实现这一目标?

3 个答案:

答案 0 :(得分:0)

我无法想象为什么你想在验证功能中这样做,我认为有一种更容易的方法来完成你想要做的事情。

Drupal表单中的每个元素都包含一个容器(具有ID)。在这个容器里面只会有一个标签。

因此,如果您需要在CSS或JS中定位元素,您只需要执行以下操作:

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

OR

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

如果您确实需要手动编辑标签,那么您将不得不为该元素提供自定义主题,请查看this example以获取更多信息(适用于Drupal 6,但概念是同样在Drupal 7)。

答案 1 :(得分:0)

感谢Clive在表单验证功能

中做了相当讨厌的工作
$form_state['complete form']['myselectbox']['#title'] =  '<span class="privacy-error">you did not check me</span>';

它不漂亮,但它有效!

答案 2 :(得分:0)

您可以在hook_validate()中添加一个类:

$form_state['complete form']['submitted']['existing_customer']['#attributes']['class'][] = 'class_name';