sapui5中必需的字段validation器

我有四个带有标签名称,年龄,城市和电话号码的文本字段。如果它留空,我必须validation它。 它应该提醒我填写。 如何在sapui5中使用必填字段validation器validation文本字段?

您只需编写一个获取文本字段并检查其值的函数即可。
这看起来像这样:

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 } 

然后,您可以在按钮单击时绑定该function,例如在创建按钮时:

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

此外, TextField有一个名为valueState的属性。
与其事件liveChange有机会在输入时validation输入:

 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

您可以根据字段值本身的更改对其进行validation,如下所示

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

或者,您可以通过单击某个按钮编写用于validation的function。

即使使用必需的属性也无济于事,因为UI5不会在表单标记中放置任何控件。 required属性设置属性

咏叹调-需要=真

您可以使用jQuery选择所有aria必需元素并在任何其他控件事件上处理它们,例如按下按钮。

下面是相同的示例代码。

 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; } });