FormAssembly计算字段使用JavaScript判断空值报错的问题咨询
FormAssembly 计算字段空值判断实现说明
报错根因
- 语法硬错误:原代码else分支使用了中文全角右括号
),不符合JavaScript半角标点的语法要求,直接导致解析失败,计算域返回error状态 - 缺少返回值声明:FormAssembly计算字段不会自动将代码块内的字符串表达式作为输出结果,必须通过
return关键字显式抛出计算值 - 字段引用规则不匹配:不能直接通过自定义字段名、裸写字段ID的方式读取字段内容,必须调用平台封装的取值接口获取实时字段值,否则代码会将引用识别为未定义变量,逻辑无法运行
可落地的实现代码
该需求完全可实现,直接在FieldB的计算配置输入栏写入以下代码即可:
const currentFieldA = FormAssembly.getFieldValue('tfa_40'); if (currentFieldA === '') { return "empty"; } else { return "not empty"; }
前期测试无效的原因对应
- 此前更换自定义变量名、直接写字段ID
tfa_40均无效果,是因为没有通过平台官方取值方法关联实际表单字段,裸写的字段名在计算沙箱中没有对应映射 - 此前将判断条件修改为
null、0无改善,是因为普通文本输入字段未输入时,接口返回的默认值为空字符串'',并非null或数值0;加上前期存在的语法错误,整个计算逻辑从未进入执行阶段,调整判断条件自然不会产生变化 - 代码编写完成后,可直接点击计算配置栏的「验证表达式」按钮,平台会自动做语法校验,定位错误位置,无需等待发布后再测试
内容的提问来源于stack exchange,提问作者C. Ogden
相关产品推荐
相关产品推荐

