首页 > 解决方案 > 我们如何在 SAP UI5 中仅验证表单中的必填字段?

问题描述

我正在尝试创建一个表单,其中包含一些需要在表单提交时进行验证的必填字段。

谁能建议我在 SAP UI5 中做到这一点的最佳方法?必填字段数量较多,因此我不想通过 ID 分别检查所有字段。

标签: sapui5

解决方案


您可以在两种情况下执行此操作。在输入值时,或在提交您的问题中的表单时。

CheckRequired: function(oEvent) {


            var aInputs = [this.getView().byId(oEvent.getSource().getId())];
            var sError = false;

            jQuery.each(aInputs, function(i, input) {
                if (!input.getValue() || input.getValue().length < 1) {
                    input.setValueState("Error");
                    input.focus();
                    sError = true;
                } else {
                    input.setValueState("None");
                }
            });
            return sError;

        },

此函数将与 onLiveChange 属性一起使用。它检查控件是否填充了至少一个字符。

如果您想在按下提交时检查所有内容。您可以在表单中使用这样的函数:

_onSubmitCheck: function() {
        var oForm = this.getView().byId("form").getContent();

        var sError = false;

        oForm.forEach(function(Field) {
            if (typeof Field.getValue === "function") {

                if (!Field.getValue() || Field.getValue().length < 1) {
                    Field.setValueState("Error");

                    sError = true;

                }
                else {
                    Field.setValueState("None");
                }

            }

        });
        return sError;

    },

它将遍历您的表单控件以检查 getValue() 方法是否作为控件的一部分存在。如果返回是,它将检查它是否具有至少 1 个字符的值。


推荐阅读