Sapui5 表行中的验证输入框已禁用-SAP UI5

Sapui5 表行中的验证输入框已禁用-SAP UI5,sapui5,Sapui5,我有一个表,有一列,有3个按钮和一个输入框。更新、保存、输入框和取消。当我们第一次进入页面时,表中所有行的输入框都被加载为禁用。当时只有一个按钮-Update可见(每行)。单击“更新”后,输入框将启用(对于该行),更新将隐藏,保存和取消按钮将可见。如果按下“保存”或“取消”,两个按钮都将隐藏,输入框再次被禁用,更新将可见。这是为了确保用户在输入框中输入值并正确保存 问题:如果我点击更新,并输入一些随机值。在这一点上,如果我保存良好,但如果我不保存,并且在表下有一个按钮将数据发布到后端,如果我单击

我有一个表,有一列,有3个按钮和一个输入框。更新、保存、输入框和取消。当我们第一次进入页面时,表中所有行的输入框都被加载为禁用。当时只有一个按钮-Update可见(每行)。单击“更新”后,输入框将启用(对于该行),更新将隐藏,保存和取消按钮将可见。如果按下“保存”或“取消”,两个按钮都将隐藏,输入框再次被禁用,更新将可见。这是为了确保用户在输入框中输入值并正确保存

问题:如果我点击更新,并输入一些随机值。在这一点上,如果我保存良好,但如果我不保存,并且在表下有一个按钮将数据发布到后端,如果我单击该按钮,我输入的值将传递到后端。我想确保验证每一行,以查看用户是否已保存/取消,以及输入框是否已禁用(意味着输入的值是正确且最终的)。我应该如何循环处理这个问题

View.xml


看起来您已经使用
qtyEditable
在模型中存储了输入状态。您可以使用此选项并在表行的上下文中循环:

validateRows: function() {
    var rowContexts = this.getView().byId("your-table-id").getBinding("rows").getContexts();

    if (rowContexts.filter(function (context) {
        return context.getProperty("qtyEditable");
    }).length === 0) {
        // all rows are saved
    } else {
        // at least one row is still in edit mode
    }
}

验证包含哪些内容?您的意思是数据验证或检查是否所有输入字段都设置为
enabled=false
(这意味着所有保存/取消按钮都被隐藏)?是的,@kristoftd。所有保存/取消按钮均隐藏,这意味着所有输入框均已启用=false。这将确保用户不是具有任何行的在制品,并且已完成所有输入框。在模型中,您可以检查是否存在qtyEditable==true的条目。