2015-04-22 1 views
0

J'ai écrit le code suivant dans aui et j'utilise les validateurs aui pour les champs mais ici mon exigence est lors de la soumission si toutes les validations sont réussies alors je veux appeler une fonction javascript .Comment vérifier les erreurs sont là ou non dans ma fonction javascript.Comment vérifier l'objet <aui: validator> avant de soumettre

<aui:form> 
    <aui:fieldset id="inputs"> 
    <aui:input name="staticInput" label="Static Input" value="" size="40" showRequiredLabel="false"> 
    <aui:validator name="required"/> 
    </aui:input> 
    </aui:fieldset> 

    <aui:button-row> 
    <aui:button value="Add Field" cssClass="addField"/> 
    <aui:button value="Save" type="submit"/> 
    </aui:button-row> 
    </aui:form> 
<scipt> 
function openEmailClient(){ 
//I want to call this function if all the validations are success 
} 
</script> 

Répondre

0

Vous devez probablement créer un validateur personnalisé afin d'exécuter une fonction javascript sur la validation correcte:

<aui:input name="staticInput" label="Static Input" value="" size="40" showRequiredLabel="false"> 

    <aui:validator name="custom" errorMessage="please-fill-out-all-required-fields"> 
     function (val, fieldNode, ruleValue) { 
      if (val.length > 0) { 
       //open e-mail client 
       return true; 
      } 
      return false; 
     } 
    </aui:validator> 

</aui:input> 
+0

S'il vous plaît pouvez-vous préciser exactement bit.Where vous vérifiez il n'y a pas de validation errors.For que l'on vous dit que le besoin de créer une nouvelle règle personnalisée – user3663712

+0

Ce validateur ne vérifie pas qu'il n'y a pas d'erreurs de validation, il permet votre propre implémentation de la validation et donc, votre propre javascript à exécuter s'il n'y a pas d'erreur. Dans le code que j'ai posté, vous vérifiez que l'entrée "staticInput" a une valeur avec la condition "val.length> 0" avant d'exécuter votre fonction. –

0

S'il vous plaît se référer edit_entry.jsp dans les sources Liferay pour signet portlet pour un exemple.

Dans le code ci-dessous, liferay vérifie les erreurs de validation et appelle la méthode openEmailClient uniquement si aucune erreur de validation.

<aui:form action="<%= urlToSubmit %>" method="post" name="fm" onSubmit='<%= "event.preventDefault(); " + renderResponse.getNamespace() + "openEmailClient();" %>'> 
    <aui:fieldset id="inputs"> 
    <aui:input name="staticInput" label="Static Input" value="" size="40" showRequiredLabel="false"> 
    <aui:validator name="required"/> 
    </aui:input> 
    </aui:fieldset> 

    <aui:button-row> 
    <aui:button value="Add Field" cssClass="addField"/> 
    <aui:button value="Save" type="submit"/> 
    </aui:button-row> 
    </aui:form> 
<scipt> 
function <portlet:namespace />openEmailClient(){ 
//I want to call this function if all the validations are success 
} 
</script>