跳到主要内容

排错与限制

编辑器提示“未完成或有错误,请检查语法”

先检查这几项:

常见原因正确写法
题号或选项号不存在从右侧预览或补全列表重新选择
把一条公式手动拆成多行整条写在一行,允许编辑器自动折行
使用中文符号改为英文括号、逗号、引号
关键字大写使用 ifthenvalidatewith
括号或引号缺失对照 IF(条件,"", "提示") 检查闭合
省略范围题号Q2~Q5,不要写 Q2~5
校验写在 thenvalidate Q2 with IF(...)

没有红色提示也不代表公式结果一定正确,仍需填写答案查看实际效果。

Q2OCR1 不存在

Q2OCR1 要求 Q2 是已开启 OCR 的上传题

  • 实际上传题是 Q1:读取 Q1OCR1
  • 题目未开启 OCR:先选择识别类型,再重新打开高级逻辑。
  • 使用独立的“图片 OCR”题型:读取结果选项,默认第一个结果是 Q2A2
  • 页面仍无法识别新变量:确认使用了支持 OCR 逻辑的版本并刷新编辑器。

validate Q1 读取 Q2OCR1 可以用于跨题校验,题号不同本身不是语法错误。详见 OCR 图片校验

公式没有计算或校验提示没更新

普通题未填写时,可能让整个公式暂不计算。需要空值也产生结果时,使用默认值:

validate Q2 with IF(DEFAULT(Q2,0)>0,"","请输入大于0的数字")

如果只检查“填了以后是否正确”,可允许空值通过,再用题目必填设置检查是否填写。

同一题的规则相互影响

情况处理方式
多条 validate 控制同一题合成一条,用嵌套 IF 决定提示顺序
多条 show,希望任意一条成立就显示合成一条 OR(...)
动态必填在条件不成立时消失这是 required 的行为;始终必填请用题目设置
修改自动赋值结果后又被覆盖来源变化会重新计算;计算结果字段可设为只读
标题没有恢复replace 返回空字符串不会恢复原标题,应返回明确的默认标题

基础规则和高级逻辑可以同时生效。排查时,把其他高级逻辑前面加 # 暂时注释,确认是否还有基础规则控制同一题。

当前不要使用的写法

写法替代方式
if ... then assignment/validate/replace ...使用独立的 动作 目标 with IF(...)
hide 控制选项或矩阵行使用相反条件的 show
branch 向前跳转、自动提交只向后跳;END 只跳过剩余题目
branch 的起点或终点写 #{...}使用界面标签;终点可以是 END
给 OCR 字段赋值OCR 字段只读,改为赋给普通填空题
mutexshufflerandom show当前未支持执行,使用题目设置或已有基础规则

预览有效,重新打开却没有规则

右侧预览使用编辑中的草稿。离开前点击 保存;保存按钮不可用时,按提示先关闭 允许提交

仍有问题时,提供最小题目结构、完整规则、触发答案和实际提示,便于定位。