我无法在表单验证失败时清除表单输入。
例如,如果表单中有任何单选按钮元素,则表单验证函数将抛出错误,其中有两个组,未选中。如果用户选择第一个组,但未选择第二个组,则会引发错误。我想知道如何清除表单输入,以便清除组1中先前选择的单选按钮。
这是用Drupal 7完成的。
答案 0 :(得分:-1)
您需要添加一个清除form_state ...的验证函数
function my_module_form_FORM_ID_alter(&$form, &$form_state, $form_id) {
$form['#validate'][] = 'my_module_clear_values_validate';
}
function my_module_clear_values_validate($form, &$form_state) {
if ($form_state['submitted']) {
$form_state['values']['field_my_field'][LANGUAGE_NONE][0]['value'] = 'WHATEVS';
}
}