我基本上有一个文本字段,它可能不是空的,所以我添加了这个验证:
t:validate="required"
(实际上我还有一些验证标准,但它们在这里并不相关)。但是,此字段有时也可以禁用(它绑定到Java代码中的属性):
t:disabled="isFieldADisabled"
t:value="entity.fieldA"
它的设计使属性在字段被禁用时永远不会为空。但是,当该字段被禁用时,我无法提交表单-即使文本框中显示了一些内容。我不知道这里发生了什么,但我试着
manually
验证,就像这样:
@OnEvent(value = EventConstants.VALIDATE)
void onValidate(){
if (isFieldADisabled)
// What should I do here?
}
正如我的评论所指出的,我不确定在那里该做什么。作为另一个复杂的问题,这整件事是在一个
container
,它本身包含在
form
-因此,我实际上无法从数据库访问表单本身
onValidate
我怀疑这是一个普遍的问题,如果不是,请让我知道你是否需要更多的信息。
编辑
我已在中评估了textfield的状态
onPrepareForSubmitFromEditForm
:
如您所见,该字段确实已禁用,其值甚至不是空的。然而在
onValidateFromEditForm
的tge值
disabled
实际上为false,但该字段的值仍然不是空的。