【发布时间】:2017-04-14 09:40:08
【问题描述】:
是否可以强制 SAPUI5 智能表中的属性,以便用户在编辑时不能将字段留空?
我发现this document 说应该可以在 metadata.xml 文件中的属性上设置强制字段控制,注释如下:
<Property Name="NameLast" Type="Edm.String" Nullable="false" MaxLength="40" sap:label="Last name" sap:field-control="7" />
但使用此设置,我在控制台中收到以下错误:
2017-04-14 11:37:36.691429 MockServer: Resource not found for the segment '7'
2017-04-14 11:37:36.707985 The following problem occurred: HTTP request failed404,Not Found,{"error":{"code":404,"message":{"lang":"en","value":"Resource not found for the segment '7'"}}} -
编辑:
后来我发现 sap:field-control 不应该包含数字,而是指向另一个包含数字的属性的路径表达式。然而这也不起作用:
<Property Name="NameLast" Type="Edm.String" Nullable="false" MaxLength="40" sap:label="Last name" sap:field-control="Name_fc" />
<Property Name="Name_fc" Type="Edm.Byte" />
Name_fc 属性的值为“7”。我现在没有看到任何控制台错误,但是我仍然可以将输入 (NameLast) 字段留空而无需任何验证并将其发送到 OData 服务,这不是我所期望的。
这是一个来自 sap 的示例的链接,他们使用必填字段。我不知道他们是怎么做到的。 https://sapui5.netweaver.ondemand.com/sdk/explored.html#/sample/sap.ui.comp.sample.smartfield/code/SmartField.view.xml
【问题讨论】:
-
能否请您也发布完整的 metadata.xml ?
-
metadata.xml 在这里 - jsfiddle.net/sL2zrt8j
标签: annotations odata sapui5 sap-fiori