我有 JSF 验证的特定用例。例如我有一个inputText
字段:
<p:inputText id="input" required="#{myBean.required}" value="#{myBean.value}" maxlength="20" disabled="#{myBean.disabled}">
<p:ajax event="blur" process="@this" update="name" listener="#{myBean.listener}"/>
</p:inputText>
输入的值是数字(在某些情况下它也可以是字符串,因为这是复合组件的一部分,但如果我们假设这是一个数字,则可以更好地描述问题)。此输入是表单的一部分,在表单末尾我有提交按钮:
<p:commandButton value="Save" actionListener="#{myBean.save}"/>
我有什么要求:
- 按下提交按钮时,应处理所有验证,这没关系,这工作正常。
- 如果输入字段不为空,则在输入字段上触发模糊事件时,应处理数字验证,这也可以。
name
最后,我用一些值更新了带有 id 的字段。 - 现在我有一个问题。我的第三个请求是当输入为空时,不应处理输入验证。这是一种特殊情况,我将使用 id 清除字段
name
。当我删除已经在输入中输入的文本,从组件中删除焦点(例如按 TAB)时,这也是这种情况,在这种情况下,还应该处理 AJAX 请求并且名称输入也将被清除。
如果该输入字段为空,并且仅针对此 ajax 事件,如何禁用该输入字段的验证?