0

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

输入返回 true 或 false 的 JavaScript 代码以验证该字段。以下隐式变量可用。

currentFieldValue:正在验证的值 fieldsMap:按名称索引的所有表单值的数组

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

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

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

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

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

4

3 回答 3

0

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

于是我开始改变

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

进入

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

似乎提交需要一个true可以自动设置为false.

这适用于所有类型的领域。

于 2012-09-24T09:16:04.647 回答
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. 尝试发送创建的表单而不选择上一步中创建的复选框。

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

于 2012-08-17T09:40:06.617 回答
0

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

return (currentFieldValue == 'true')
于 2015-11-19T09:43:43.323 回答