function _msnf_form_validate in Multistep Nodeform 6
Custom validation handler for node form.
Used to decide whether the values should be saved to databases or saved for another step.
1 string reference to '_msnf_form_validate'
- msnf_prepare_form_step in ./
msnf.module - Function to prepare the current form step and to alter the node form.
File
- ./
msnf.module, line 264 - Main functions for module "Multistep Nodeform".
Code
function _msnf_form_validate($form, &$form_state) {
// Restore values for submit-functions at every step.
$type = $form_state['values']['type'];
if ($form_state['clicked_button']['#name'] == 'done' || $form_state['clicked_button']['#name'] == 'op' && $form_state['clicked_button']['#value'] == t('Delete')) {
$form_state['rebuild'] = NULL;
$form_state['redirect'] = NULL;
}
else {
// Store values to restore them at last step.
if ($form_state['clicked_button']['#name'] == 'next' || $form_state['clicked_button']['#name'] == 'skip' || $form_state['clicked_button']['#name'] == 'previous') {
if (empty($form_state['storage']['values'])) {
$form_state['storage']['values'] = $form_state['values'];
}
else {
$form_state['storage']['values'] = array_merge($form_state['storage']['values'], $form_state['values']);
}
unset($form_state['storage']['values']['form_build_id']);
}
// Run buttons validators.
if ($form_state['clicked_button']['#name'] == 'next' || $form_state['clicked_button']['#name'] == 'skip' || $form_state['clicked_button']['#name'] == 'previous') {
// This is not the last step so rebuild the form.
$form_state['rebuild'] = TRUE;
$form_state['redirect'] = FALSE;
if ($form_state['clicked_button']['#name'] == 'next') {
$form_state['storage']['step']++;
}
elseif ($form_state['clicked_button']['#name'] == 'skip') {
$form_state['storage']['step'] += 2;
}
elseif ($form_state['clicked_button']['#name'] == 'previous') {
$form_state['storage']['step']--;
}
}
}
}