2012-08-07 77 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')