You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

saveWorkflow方法中如何校验formKey为空时修改状态并弹窗提示

实现方案

你只需要在用户任务formKey赋值后新增校验逻辑,同时增加全局校验标记拦截后续保存流程即可,修改后的完整代码如下:

function saveWorkflow () {
      $('#dbs-debug').html('Saving...');
      // 新增校验标记和错误信息存储变量
      let validatePass = true
      let errorTask = ''

      process.id = 'process_' + _flowId;
      process.name = _flowName;
      $('#dbs-form-content > .dbs-form-task').each(function () {
        var userTask = {};
        userTask.name = $(this).attr('data-name');
        userTask.id = $(this).attr('data-id');
        userTask.condition = $(this).attr('data-condition');

        if ($(this).attr('data-type') === "user-task") {
          userTask.formKey = $(this).attr('data-formkey');
          // 新增formKey有效性校验
          if (!userTask.formKey || userTask.formKey.trim() === '') {
            validatePass = false
            errorTask = userTask.name || userTask.id
            // 终止each遍历,不再检查后续任务
            return false
          }
          userTask.cUsers = $(this).attr('data-cusers');
          userTask.cGroups = $(this).attr('data-cgroups');
          userTask.rejstep = $(this).attr('data-rejstep');
          userTask.due = $(this).attr('data-due');
          userTask.reassignment = $(this).attr('data-reassignment');
        } else if ($(this).attr('data-type') === "email-task") {
          userTask.email = $(this).attr('data-email');
        }
        userTask.type = $(this).attr('data-type');
        process.userTasks.push(userTask);
      });

      // 校验不通过直接终止后续流程
      if (!validatePass) {
        // 修改状态为failing
        $('#dbs-debug').html('Failing...');
        // 弹出提示
        alert(`用户任务【${errorTask}】未配置form key,请完善后再保存`);
        return
      }

      // 原有后续保存逻辑可以继续放在此处
}

改动说明

  • 函数开头新增了校验标记validatePass和错误任务存储变量errorTask,用来记录校验结果
  • 给用户任务赋值formKey后立刻做校验,只要值为空、undefined或者全是空格都判定为无效
  • 校验失败后立刻终止遍历,避免做无效检查,遍历结束后如果校验不通过,先修改状态文本,再弹出提示,最后终止函数执行,不会继续跑后续的保存逻辑
  • 如果不需要展示具体的任务名称,可以直接把提示文案修改为「存在用户任务没有配置form key」即可

内容的提问来源于stack exchange,提问作者Doyel Mishra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 06:42:01