Task.Json触发仅不可见字段的验证

时间:2018-09-30 17:05:32

标签: azure-devops azure-pipelines-build-task

我正在尝试创建Azure DevOps Pipelines自定义扩展。我有一个task.json,其中在某些情况下可见字段。

例如:

 {
  "name": "actions",
  "type": "picklist",
  "label": "Actions",
  "defaultValue": "Select",
  "required": true,
  "helpMarkDown": "Select an Action from the dropdown as per your requirement.",
  "options": {
    "New": "Add",
    "Delete": "Delete"
  }
},

{
  "name": "backEndIPAddress",
  "type": "string",
  "label": "IP Address",
  "required": true,
  "defaultValue": "",
  "helpMarkDown": "",
  "visibleRule": "actions = New",
  "validation": {
    "expression": "isMatch(value,'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?){0,15}$','IgnoreCase')",
    "message": "Invalid IP Address. Please try again!"
  }
} 

隐藏IPAddress字段时,仍然尝试尝试验证并失败的问题。如何确保仅在可见字段时才对字段进行验证?

1 个答案:

答案 0 :(得分:0)

一些选项:

  • 设置输入的默认值
  • 更新正则表达式以在开始时包含Homebrew,以允许使用空值(^$|将满足要求)

请记住,应该有一个默认的'require':true函数,因此您不必指定正则表达式。

从文档看来,似乎即将到来的isIpV4Address(value: string)子句将指示何时触发规则集,我想这可能会导致当前不想要的行为。

另请参阅: