Groovy代码示例

按钮前验证函数对提交数据进行校验


/**
 * 按钮前验证函数的返回值是Map,里面有三个字段
 * error : 是否出错 
 * errorMessage : 出错后提示的错误信息 
 * block : 提示异常信息后,是否阻塞保存,true 阻塞报错,false 不阻塞
 **/ 

// 对数据进行赋值
String name = context.data.name
context.data.name = name + "test"
if (context.data.field_1Kl84__c < 100) {
  return ["error": true, "errorMessage":"失败了", "block":true]
}
return ["error": false, "errorMessage":"成功"]

附件类型在提交时,校验文件格式是否符合需求

// 获取终端类型
String field_9w6q2__c = context.data['field_9w6q2__c']

// 获取插件内容类型,即获取需要检验的附件类型
List PluginContent = context.data['field_Mbv9y__c'] as List
List PluginContentList = []
PluginContent.each { item -> 
  Map PluginContentType = item as Map
  PluginContentList.add(PluginContentType["ext"])
  }

//获取静态文件类型,即获取需要检验的附件类型
List Staticfile = context.data['field_931se__c'] as List
List StaticfileList = []
Staticfile.each { item -> 
  Map StaticfileType = item as Map
  StaticfileList.add(StaticfileType["ext"])
  }

//进行校验,不满足时弹框提醒无法提交
if (field_9w6q2__c == 'app' && (!['zip'].containsAll(PluginContentList))) {
  return ["error": true, "errorMessage": "当终端类型为app时,[插件内容]请上传zip类型文件", "block": true]
} else if(field_9w6q2__c == 'web' && (!['vue','js','less','css'].containsAll(PluginContentList)) || (!['png','jpg','jpeg','svg'].containsAll(StaticfileList))){
  return ["error": true, "errorMessage": "当终端类型为web时,[插件内容]请上传vue、js、less、css类型文件,[静态文件]请上传png、jpg、jpeg、svg类型文件", "block": true]
}else {
//输入正确,继续执行
return ["block": false]
}

注意事项

2024-10-22
6 1
Baidu
map