2012-08-07 65 views
0

Portlet的描述應該是如何工作的:Liferay的門戶網頁表單字段驗證

輸入返回true或false以驗證 場JavaScript代碼。以下隱式變量可用。

currentFieldValue:該值正在驗證fieldsMap:的 陣列的所有形式的值按名稱

索引我還沒有發現關於此的任何文檔。

不管怎麼說,我有送的形式輸入到我的郵箱web表單,但如果未選中最後一個複選框,然後它應該給一個錯誤。

所以我想出了這個代碼,但它不工作:

if(currentFieldValue == false){return false;} 

任何人都知道這一點Liferay的網頁表單的Portlet驗證如何工作的?

回答

0
  1. 停止Tomcat

  2. 轉到APPLICATION_SERVER_ROOT_DIRECTORY/webapps /目錄網絡形式的portlet/WEB-INF/classes目錄

  3. 打開portlet.properties和變化 「validation.script.enabled」從 「假」 到 「真」

  4. 啓動Tomcat

  5. 屬性添加Web窗體門戶到一個頁面

  6. 在Web窗體Portlet的配置彈出我們添加一個複選框類型字段與您在說明中寫道驗證腳本:「如果(currentFieldValue == FALSE){回報假;}「和驗證錯誤消息:」勾選複選框!「

  7. 試圖發送所創建的形式而不選擇在前面的步驟中創建的複選框。

結果: 「勾選複選框!」消息出現在屏幕上。

0

我嘗試了這樣的方式,但我總是得到rrror You have entered invalid data. Please try again.

於是我開始改變

if(currentFieldValue == false){return false;} 

if(currentFieldValue != ""){return true;} 

看來,提交需求的true可以將它設置automaticaly到false

這適用於所有類型的字段。

0

currentFieldValue始終是一個字符串所以對我來說妥善解決被設置驗證腳本如下:

return (currentFieldValue == 'true')