2016-02-19 67 views
0

由於Orbeon表單正常運行,當用戶從一個字段更改爲另一個字段時,會觸發第一個字段的驗證,這通常是完全可以的。禁用Orbeon「當你鍵入」驗證空(從未填充)字段?

我面對的,作爲你型驗證(必填項)應該是任何一種人,並保持空,也就是說,如果用戶加載的形式,只有點擊了和這些領域執行的要求離開現場,或通過Tab移動它。

因此,如果這些字段保持爲空,那麼當用戶提交整個表單時,它們將在最後進行驗證。

是否有可能限制Orbeon這種類型的驗證那樣,而不是做空字段?

+0

請參閱下面的答案。這是否適用於您想要的用例? – avernet

回答

0

現在,您無法切換到您正在描述的行爲,比如通過設置屬性。但是我看到在某些情況下它是如何有意義的。正如你所說,這個想法是,如果用戶從未在其中鍵入任何內容,則不會爲字段顯示錯誤。例如,對於一個必填字段:

  1. 在用戶選項卡,不輸入任何東西,和標籤出⇒顯示任何錯誤(而現在,會顯示錯誤)。
  2. 用戶將焦點置回字段中,鍵入內容,標籤出⇒沒有顯示錯誤(顯然,因爲提供了一個值)。
  3. 用戶刪除字段中的值,標籤出⇒錯誤顯示(即使該字段現在爲空,因爲用戶已輸入值)。 並且在所有情況下,所有錯誤都在保存/提交時顯示,就像現在這樣。

通過在XForms引擎中更改「visited」的概念以符合上述說明,可以實現此目的。錯誤摘要會相應更新,因爲它使用xxf:visited()來決定顯示哪些錯誤。

+0

謝謝,這正是它在我描述的情況下工作的方式。儘管我對XForms引擎並不熟悉,但這是我可以自己調整的東西,還是應該在更大規模上加強的東西? – lazard

+0

我不會說這是微不足道的,但如果您願意嘗試對Java/Scala代碼庫進行一些更改,它應該是可行的。如果您想了解在哪裏尋找,請告訴我們。 – avernet

+0

如果你能給我一些指示,那將是非常好的,如果可以的話,我會盡量調整它。提前致謝! – lazard