Je suis en train de faire une validation webform en utilisant webform_form_alter. J'utilise webform_form_alter parce que je change de contenu sur un champ "select".Validation Webform Drupal (webform_form_alter)
Dans mon formulaire webform-317.tpl.php, j'ai défini de nouveaux fieldsets. J'ai défini mes champs dans ce nouveau fieldset et j'ai supprimé l'original du formulaire Web.
$form['submitted']['ContactInfo'] = array(
'#type' => 'fieldset',
'#prefix' => '<div id="ContactInfo">',
'#suffix' => '</div>',
'#weight' => -10,
'#title' => 'Contact Information'
);
$form['submitted']['ContactInfo']['phone_home'] = $form['submitted']['phone_home'];
unset($form['submitted']['phone_home']);
dans mon webform_form_alter Je le code suivant:
switch ($form_id)
{
case 'webform_client_form_317':
{
$form['#validate'][] = 'validate_form';
}
}
fonction Mon valider_form ressemble:
function validate_form($form_id, $form_values)
{
if ($form_values['submitted_tree']['ContactInfo']['phone_home'] == "")
{
form_set_error('phone_error', t('Please enter a home phone number.'));
}
}
Le problème est que les form_values $ [ 'submitted_tree'] [ » ContactInfo '] [' phone_home '] revient car rien ne permet à l'utilisateur d'entrer quelque chose dans le champ de texte.
Des suggestions sur ce que je fais mal? En tant que deuxième question au cas où quelqu'un aussi les réponses, comment puis-je modifier ces champs de texte pour définir la classe pour "form-text required error" afin qu'ils apparaissent en rouge avec le reste des champs obligatoires.
Merci
Hey googletorp. Cela ne me donne malheureusement toujours pas la valeur de 'phone_home' même si le champ contient du texte (ou pas), je reçois toujours le message "Please enter a home phone number error" (autrement dit le $ form_state [. ..] est toujours "" (ou null)). Si je fais un drupal_set_message sur cette valeur pour le plaisir et je n'ai rien. –
Vous l'avez obtenu en utilisant votre réponse ici http://stackoverflow.com/questions/1464056/drupal-6-form-state-values-empty-on-submit thanks! –