Liferay webform portlet字段验证

时间:2012-08-07 10:43:40

标签: javascript webforms validation liferay

Portlet描述了它应该如何工作:

  

输入返回true或false的JavaScript代码以验证   领域。可以使用以下隐式变量。

     

currentFieldValue:要验证的值fieldsMap:数组   所有以名称

索引的表单值

我没有找到任何关于此的文件。

无论如何,我有网页表单将表单输入发送到我的电子邮件,但如果没有选中最后一个复选框,那么它应该给出错误。

所以我想出了这段代码,但它不起作用:

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

有人知道这个liferay webform portlet验证是如何工作的吗?

3 个答案:

答案 0 :(得分:0)

  1. 停止Tomcat

  2. 转到APPLICATION_SERVER_ROOT_DIRECTORY / webapps / web-form-portlet / WEB-INF / classes目录

  3. 打开portlet.properties并将“validation.script.enabled”属性从“false”更改为“true”

  4. 启动Tomcat

  5. Web表单 portlet添加到页面

  6. 在Web窗体portlet的配置弹出窗口中,我们添加了一个复选框类型字段,其中包含您在说明中编写的验证脚本:“if(currentFieldValue == false){return false;}”和验证错误消息:“勾选复选框!”

  7. 尝试发送已创建的表单而不选择上一步中创建的复选框。

  8. 结果:“勾选复选框!”消息出现在屏幕上。

答案 1 :(得分:0)

我尝试过这种方式,但我总是得到rrror You have entered invalid data. Please try again.

所以我开始改变

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

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

似乎提交需要true,可能会自动设置为false

这适用于各种领域。

答案 2 :(得分:0)

currentFieldValue总是一个字符串,所以对我来说正确的解决方案是设置验证脚本如下:

return (currentFieldValue == 'true')