我基本上有一个可能不为空的文本字段,所以我添加了这个验证:
t:validate="required"
(我实际上还有一些验证标准,但它们在这里不相关)。但是,有时也可以禁用此字段(它绑定到 Java 代码中的属性):
t:disabled="isFieldADisabled"
此外,该值绑定到一个属性:
t:value="entity.fieldA"
它被设计成当字段被禁用时属性永远不会为空。但是,当该字段被禁用时,我无法提交表单 - 即使文本框中显示了某些内容。我不知道这里发生了什么,但我随后尝试手动验证,如下所示:
@OnEvent(value = EventConstants.VALIDATE)
void onValidate(){
if (isFieldADisabled)
// What should I do here?
}
正如我的评论指出的那样,我不确定在那里做什么。作为一个额外的复杂性,整个事情都在 acontainer中,它本身包含在 a form- 所以我真的无法从onValidate方法中访问表单本身。
我怀疑这是一个普遍问题,如果不是,请告诉我您是否需要更多信息。
编辑我已经评估了文本字段的状态onPrepareForSubmitFromEditForm:
如您所见,该字段确实被禁用,其值甚至不是空的。然而在onValidateFromEditForm
tge 中值disabled
实际上是假的,但该字段的值仍然不是空的。
慕尼黑8549860
相关分类