Portlet描述了它应该如何工作:
输入返回true或false的JavaScript代码以验证 领域。可以使用以下隐式变量。
currentFieldValue:要验证的值fieldsMap:数组 所有以名称
索引的表单值
我没有找到任何关于此的文件。
无论如何,我有网页表单将表单输入发送到我的电子邮件,但如果没有选中最后一个复选框,那么它应该给出错误。
所以我想出了这段代码,但它不起作用:
if(currentFieldValue == false){return false;}
有人知道这个liferay webform portlet验证是如何工作的吗?
答案 0 :(得分:0)
停止Tomcat
转到APPLICATION_SERVER_ROOT_DIRECTORY / webapps / web-form-portlet / WEB-INF / classes目录
打开portlet.properties并将“validation.script.enabled”属性从“false”更改为“true”
启动Tomcat
将 Web表单 portlet添加到页面
在Web窗体portlet的配置弹出窗口中,我们添加了一个复选框类型字段,其中包含您在说明中编写的验证脚本:“if(currentFieldValue == false){return false;}”和验证错误消息:“勾选复选框!”
尝试发送已创建的表单而不选择上一步中创建的复选框。
结果:“勾选复选框!”消息出现在屏幕上。
答案 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')