我正在尝试在 Drupal Commerce 中编辑结帐表单,以要求用户输入他们的电子邮件地址两次。当他们提交表单时,Drupal 应该检查电子邮件是否匹配,form_set_error()
如果不匹配,则调用。现在,我只是想在表单上附加一个自定义验证功能,但我无法开始工作。(我的模块叫checkout_confirm_email,这个模块仅供我们自己使用,所以我没有在名字上花太多力气)。
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)
输出。所以该函数是表单数组的一部分,但验证函数中的 dsm 语句从不打印。
我实际上已经被困了一段时间。我查了一些例子,我看不出我做错了什么。任何人?