我从openui5开始。我想验证表单的所有字段。
我正在使用
sap.ui.getCore().getMessageManager().registerObject
this.getView().attachValidationError
控制器上的,当我更改表单内输入的值时运行完美。
但是当我在表单按钮中触发按下事件时,如何验证所有表单输入?
我发现的唯一solution,但这需要单独验证每个字段。
是否有办法调用MessageManager来验证和呈现所有字段?
答案 0 :(得分:-1)
请参阅我之前写过的博客:http://scn.sap.com/community/developer-center/front-end/blog/2015/11/01/generic-sapui5-form-validator
它提供了在任何给定时间验证表单的方法,例如单击提交按钮
提供实用程序类(it's on GitHub)有点太牵强了,但其背后的想法如下:
sap.ui.core.Control
继承的任何子项(因为您当然只想验证控件)主要部分实际上是调用每个子控件的验证:
try {
// get the control's binding (oControl is the control you want to validate)
var oControlBinding = oControl.getBinding("value"); // or selectedKey, text, etc
// get the formatted value
var oExternalValue = oControl.getProperty("value");
// get the actual, internal value
var oInternalValue = oControlBinding.getType().parseValue(oExternalValue, oControlBinding.sInternalType);
// trigger the actual validation
oControlBinding.getType().validateValue(oInternalValue);
}