在我的表单中,我创建了一个复选框
$form['existing_customer'] = array(
'#type' => 'checkbox',
'#title' => t('Are you an existing customer?')
);
当我使用hook_validate验证它时,我想在标签中添加一个类?任何想法如何实现这一目标?
答案 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';