2009-05-13 6 views
0

Je dispose d'un champ de renvoi automatique de zone nodereference (field_hostnamelastref) dans un fichier pass-node-form.tpl.php personnalisé. Le champ référence quatre éléments (nom, prénom, numéro d'identification et statut) générés à partir de jetons dans un autotit d'un autre type de contenu. Lorsque vous entrez un nom de famille dans le champ nodereference, si l'état correspondant à ce nom de famille est "SUSPENDED", je souhaiterais pouvoir valider ce champ avec un message d'erreur et une soumission de formulaire de blocage.Comment valider un champ nodereference dans un formulaire de noeud personnalisé dans Drupal 6?

Ceci est ma première tentative d'écriture de ma propre validation et je n'ai pas de chance. J'ai essayé de nombreuses façons ereg, preg-match et strpos. Ci-dessous est ma dernière tentative:

<?php 
    function pass_validate($form_id,$form_values) { 
    $status = 'SUSPENDED'; 
    if (strpos ($form_values['hostnamelastref'], $status)) { 
     form_set_error('hostnamelastref', t('The account for this person has been suspended.', array('@type' => $type->name))); 
    } 
    } 
?> 

Je ne sais pas si je suis même dans le parc de balle à ce sujet. Toute aide très appréciée!

Répondre

0

Si vous pouvez transmettre les informations SUSPENDUS aux vues, vous pouvez limiter les nœuds que vous choisissez dans la référence de nœud en utilisant une vue. Ensuite, nodereference prendra soin de la validation si l'utilisateur a entré un noeud qui ne figure pas dans la liste. Mais je ne suis pas sûr d'avoir compris votre question.

Questions connexes