J'ai créé un formulaire Web à l'aide de l'API Form. J'utilise l' #AJAX
option de champ pour ajouter la validation AJAX à chaque champ.
Est-il possible de valider et de soumettre le formulaire en utilisant AJAX sans recharger la page. Si la validation échoue, je veux afficher un message d'erreur et si la validation réussit, je veux afficher un message (idéalement dans une lightbox) et réinitialiser les champs du formulaire.
Mon code jusqu'à présent:
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Name'),
'#default_value' => '',
'#maxlength' => '128',
'#required' => TRUE,
'#ajax' => array(
'callback' => '_validate_name',
'wrapper' => 'name-error-icon-container',
'method' => 'html',
'effect' => 'none',
'progress' => array(
'message' => NULL,
),
),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Submit',
'#ajax' => array(
'callback' => '_handle_form_submit',
'effect' => 'fade',
),
);
les fonctions de rappel ressemblent à ceci:
function _validate_name($form, $form_state) {
if ($form_state['values']['name'] != '') {
$output = 'OK';
}
else {
$output = 'Enter a value';
}
return $output;
}
function _handle_form_submit($form, $form_state) {
}
Mais je ne sais pas ce qui devrait entrer dans la _handle_form_submit
fonction pour valider puis renvoyer un message ou soumettre un formulaire et réinitialiser les champs?