Task.Json запускает проверку только на невидимых полях - PullRequest
0 голосов
/ 30 сентября 2018

Я пытаюсь создать пользовательское расширение конвейеров Azure DevOps.У меня есть 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 голосов
/ 30 сентября 2018

Несколько вариантов:

  • Установить значение по умолчанию для ввода
  • Обновите регулярное выражение, включив в него ^$|, чтобы разрешить пустые значения ('require':true будет приниматьзабота о необходимости)

Помните, что должна быть функция по умолчанию isIpV4Address(value: string), поэтому вам не нужно указывать регулярное выражение.

Из документов это выглядит какПредстоящее предложение when, которое будет определять, когда должен сработать набор правил, я полагаю, это может быть причиной нежелательного поведения.

См. также:

...