Validateur de champ requirejs dans sapui5

J’ai quatre champs de texte avec les libellés nom, âge, ville et numéro de téléphone. Je dois le valider s’il rest vide. il devrait me prévenir de remplir. Comment valider un champ de texte avec un validateur de champ obligatoire dans sapui5?

Vous pouvez simplement écrire une fonction qui récupère les champs de texte et vérifie leur valeur.
Cela pourrait ressembler à ceci:

function validateTextFieldValues() { // this function gets the first textfield var nameTextField = sap.ui.getCore().byId("idOfTheTextFieldContaingTheName"); //this function checks its value, you can insert more checks on the value if(nameTextField.getValue() === "") { alert("Please enter a name."); } // ... // the same for the other fields } 

Ensuite, vous pouvez lier la fonction sur le clic du bouton, par exemple lors de la création du bouton:

 new sap.ui.commons.Button({ // your buttonconfiguration click: function(){ validateTextFieldValues(); } }); 

De plus, TextField a un atsortingbut appelé valueState .
En relation avec son événement liveChange il est possible de valider l’entrée en tapant:

 new sap.ui.commons.TextField({ // your configuration liveChange: function(){ if(this.getValue() === "") this.setValueState(sap.ui.core.ValueState.Error); else this.setValueState(sap.ui.core.ValueState.Success); } }); 

( https://openui5.hana.ondemand.com/docs/api/symbols/sap.ui.core.ValueState.html )

Vous pouvez le valider au changement de la valeur du champ comme ci-dessous

 var oname = new sap.ui.commons.TextField({ id: 'input2', change : function(){ if(this.getValue()=='') alert("enter some value"); } }); 

Ou vous pouvez écrire une fonction pour la validation en cliquant sur un bouton.

Même si vous utilisez la propriété requirejse, cela ne vous aidera pas, car UI5 ne place aucun contrôle dans les balises de formulaires. La propriété requirejse définit un atsortingbut

aria-required = true

Vous pouvez utiliser jQuery pour sélectionner tous les éléments requirejs par aria et les traiter lors de tout autre événement de contrôle, par exemple en appuyant sur le bouton.

Vous trouverez ci-dessous un exemple de code.

 var oBtn = new sap.ui.commons.Button(); oBtn.attachPress(function(){ var error; jQuery('input[aria-required=true]').each(function(){ var oInput = sap.ui.getCore().byId(this.id); var val = oInput.getValue(); if(!val){ var sHtml = '
  • value is empty
'; var sValueState = 'Error!'; // Combine Input value, Error title and message into a Rich Tooltip var oTooltip = new sap.ui.commons.RichTooltip({ text: sHtml, valueStateText: sValueState}); oInput.setTooltip(oTooltip); oInput.setValueState(sap.ui.core.ValueState.Error); error = false; }else{ oInput.setValueState(sap.ui.core.ValueState.None); oInput.setTooltip(' '); } }); if(error){ return error; } });