我试图编辑Drupal Commerce中的结账表单,要求用户输入两次他们的电子邮件地址。当他们提交表格时,Drupal应该检查电子邮件是否匹配,如果不匹配,请致电form_set_error()
。现在,我只是试图附加一个自定义验证功能的表单,我不能去工作。 (我的模块叫做checkout_confirm_email。这个模块仅供我们自己使用,所以我没有在这个名字上花费太多精力)。如何在Drupal 7中使用表单验证
function checkout_confirm_email_form_alter(&$form, &$form_state, $form_id) {
if($form_id == 'commerce_checkout_form_checkout') {
$form['#validate'][] = 'checkout_confirm_email_form_validate';
dprint_r($form['#validate']);
dsm("I printed");
}
}
function checkout_confirm_email_form_validate($form, &$form_state) {
dsm("Never prints...");
}
dprint_r
陈述输出Array ([0] => checkout_confirm_email_form_validate)
。所以函数是form数组的一部分,但验证函数中的dsm语句从不打印。
我实际上被卡住了一段时间。我查了一些例子,我看不出我做错了什么。任何人?
如果这是'$形式['#提交'] [' #验证'] []'? – user151841 2015-11-23 18:25:32
不是#属性不适用于元素 – 2015-11-24 17:01:25