2012-08-01 61 views
0

我有一個單選按鈕組,它使用@Dblookup獲取它的值。除了在單選按鈕組中出現的名稱之外,該文檔還有一個字段,用於確定是否顯示x頁上的另一個字段。有條件的客戶端驗證?

如果該字段顯示,那麼它應該是必需的。

我可以在SSJS中使用@DbLookup查找在單選按鈕組中選中的文檔來進行條件驗證。

但我希望能夠做到CS,所以它更快,所以它看起來像我的其他驗證。無論如何要做到這一點?

+0

我發現斯蒂芬的博客http://www.wissel.net/blog/d6plinks/shwl-7qg88x並看到他建議服務器端驗證反正「真正」驗證。我應該繼續進行服務器端驗證嗎? – 2012-08-01 14:50:43

+0

使用客戶端驗證作爲「幫助」,應該有一個服務器端驗證。 – Jairo 2012-08-03 09:58:08

回答

0

如果未呈現字段,則該節點將不存在於DOM中。您的CS JavaScript需要檢查DOM並查找節點,通常通過查找特定的ID。隨着Xpages更改發送到瀏覽器的ID,您的驗證功能將需要計算,以便知道要查找的ID,或者您需要以其他某種獨特方式查找它(例如,將css類名稱添加到字段,然後做DOM搜索具有該類名稱的節點)

一旦您可以確定該字段是否已被呈現,那麼您可以對其他字段運行通常的CS驗證例程。

0

如果您在整個應用程序中使用客戶端驗證,那麼在字段上設置必需的屬性應該可以實現您所需的。

如果不是,則可能需要查看擴展庫Dojo驗證文本框。所有擴展庫Dojo控件都運行客戶端驗證,即使驗證在應用程序級別設置爲服務器端。請記住,對於Dojo驗證文本框,僅設置所需的屬性是不夠的。您需要添加更多特定的驗證。

之後,關鍵是要確保您的收音機組上的部分刷新事件設置爲跳過驗證。我沒有嘗試,但我相信應該達到你所需要的。