禁用 Orbeon "as you type" 对空(从未填充)字段的验证?

Disable Orbeon "as you type" validation for empty (never filled) fields?

由于 Orbeon 表单正常运行,当用户 从一个字段更改为另一个字段时,会触发第一个字段的验证,这通常是完全可以的。

我面临这样一个要求,即 对那些过去和现在仍然为空的字段执行键入验证(必填字段),即如果用户加载表单并且仅单击进入和离开该字段,或者通过 Tab 移动它。

因此,如果这些字段留空,它们将在最后,即用户提交整个表单时进行验证。

是否有可能像这样限制 Orbeon 的键入验证,而不是对空字段执行此操作?

目前,您无法通过设置 属性 切换到您所描述的行为。但在某些情况下,我明白这有什么意义。正如您所说,这个想法是,如果用户从未在其中输入任何内容,您就不会显示该字段的错误。例如,必填字段:

  1. 用户按 Tab 键进入,不输入任何内容,然后按 Tab 键退出 ⇒ 没有显示错误(而现在,会显示错误)。
  2. 用户将焦点放回字段中,键入内容,跳出 ⇒ 没有显示错误(显然,因为提供了值)。
  3. 用户删除了字段中的值,tabs out ⇒ 错误显示(即使现在字段为空,因为用户已经输入了一个值)。 在所有情况下,所有错误都会像现在一样显示在 save/submit 上。

要实现这一点,可以通过在 XForms 引擎中更改 "visited" 的概念来匹配上面的描述。错误摘要将相应更新,因为它使用 xxf:visited() 来决定显示哪些错误。