Dokumentacja dla programistów

Walidacje

Aktualizacja 2026-09-06

Na tablicach monday.com możesz oznaczyć wymagane kolumny, aby określone kolumny były obowiązkowe podczas dodawania nowego elementu. Dzięki temu wszystkie nowe elementy dodane do tablicy będą miały wypełnione wskazane kolumny.

Obsługiwane typy kolumn wymaganych: status, dropdown, numbers, date, timeline, people, text, long_text, email, phone, link, rating, country, location

Uwaga: Kolumnę można oznaczyć jako wymaganą, ale może ona nie obsługiwać reguł walidacji. Na przykład kolumny timeline i location mogą być wymagane, ale nie obsługują żadnych operatorów reguł walidacji.

Od wersji API 2026-07 możesz też tworzyć reguły walidacji, które definiują bardziej zaawansowane ograniczenia dotyczące wartości w kolumnach. Reguły walidacji obsługują logikę warunkową („jeśli kolumna A ma wartość X, kolumna B nie może być pusta”) oraz różne operatory porównania. Dostępne operatory zależą od typu kolumny i rodzaju klauzuli (zwykłej, warunkowej IF lub warunkowej THEN). Szczegółowe instrukcje znajdziesz w przewodniku po regułach walidacji.

📘 Reguły walidacji są egzekwowane zarówno w interfejsie użytkownika, jak i w API

Reguły walidacji są sprawdzane, gdy użytkownicy tworzą lub aktualizują elementy w interfejsie monday.com oraz za pomocą API. Żądania API, które naruszają reguły walidacji, zwracają błąd DATA_VALIDATIONS_ERROR (kod statusu 422) ze szczegółami dotyczącymi kolumn, które nie przeszły walidacji. Format odpowiedzi z błędem znajdziesz w przewodniku po regułach walidacji.

Zapytania

Pobieranie walidacji

  • Wymagane jest uprawnienie do edytowania ustawień kolumn na tablicy
  • :construction: Dostępne tylko na kontach Pro i Enterprise
  • Zwraca obiekt zawierający metadane dotyczące wymaganych kolumn i reguł walidacji
  • Można je pobrać tylko bezpośrednio z poziomu głównego zapytania. Nie można go zagnieźdżać w innym zapytaniu
query {
  validations(id: 1234567890) {
    required_column_ids
    rules
  }
}
{
  "data": {
    "validations": {
      "required_column_ids": ["status", "text0"],
      "rules": {
        "cd7f1b7b-452e-40d3-886c-346184ffee7e": {
          "then": {
            "operator": "AND",
            "groups": [
              {
                "operator": "ANY_OF",
                "column_id": "color_mm1pt41x",
                "compare_value": [1, 2]
              }
            ]
          }
        },
        "31933592-171a-47ae-93a5-7a1c214fc9a3": {
          "if": {
            "operator": "AND",
            "groups": [
              {
                "operator": "ANY_OF",
                "column_id": "color_mm1pt41x",
                "compare_value": [1]
              }
            ]
          },
          "then": {
            "operator": "AND",
            "groups": [
              {
                "operator": "IS_NOT_EMPTY",
                "column_id": "text_mm1pecmq",
                "compare_value": []
              }
            ]
          }
        }
      }
    }
  }
}

Argumenty

Argument Typ Opis Wartości wyliczeniowe
id ID! Unikalny identyfikator tablicy.
type ValidationsEntityType Typ encji, dla której ma być przeprowadzona walidacja. board

Pola

Pole Typ Opis
required_column_ids [String!] Tablica unikalnych identyfikatorów wymaganych kolumn.
rules JSON Obiekt JSON zawierający reguły walidacji tablicy. Każdy klucz to identyfikator reguły (UUID), a każda wartość to obiekt reguły zawierający obiekty klauzul then (zawsze obecna) i if (obecna tylko w regułach warunkowych).

Mutacje

  • :construction: Dostępne tylko na kontach Pro i Enterprise

Dodawanie wymaganej kolumny

Oznacza istniejącą kolumnę jako wymaganą. Nie tworzy nowej kolumny. Zwraca RequiredColumns.

mutation {
  add_required_column(
    id:1234567890, 
    column_id: "long_text", 
    type: board
  ) {
    required_column_ids
  }
}
{
  "data": {
    "add_required_column": {
      "required_column_ids": [
        "long_text"
      ]
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Argumenty

Argument Typ Opis Wartości wyliczeniowe
column_id String! Unikalny identyfikator kolumny.
id ID! Unikalny identyfikator tablicy.
type ValidationsEntityType Typ encji, dla której ma być przeprowadzona walidacja. board

Usuwanie wymaganej kolumny

Usuwa oznaczenie istniejącej kolumny jako wymaganej. Nie usuwa samej kolumny. Zwraca RequiredColumns.

mutation {
  remove_required_column(
    id:1234567890, 
    column_id: "long_text", 
    type: board
  ) {
    required_column_ids
  }
}
{
  "data": {
    "remove_required_column": {
      "required_column_ids": []
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Argumenty

Argument Typ Opis Wartości wyliczeniowe
column_id String! Unikalny identyfikator kolumny.
id ID! Unikalny identyfikator tablicy.
type ValidationsEntityType Typ encji, dla której ma być przeprowadzona walidacja. board

Tworzenie reguły walidacji

Dostępne tylko w wersjach API 2026-07 i nowszych

Tworzy nową regułę walidacji na tablicy. Reguła określa ograniczenia dotyczące wartości w kolumnach, które opcjonalnie mogą być uzależnione od warunku. Zwraca ValidationRule.

Szczegółowe informacje o tworzeniu reguł walidacji znajdziesz w przewodniku Reguły walidacji.

Reguła walidacji - wymaga, aby kolumna statusu miała jedną z określonych wartości:

mutation {
  create_validation_rule(
    id: 1234567890,
    type: board,
    rule: {
      then: {
        operator: AND,
        groups: [{
          operator: ANY_OF,
          column_id: "status",
          compare_value: [1, 2]
        }]
      }
    }
  ) {
    id
    if
    then
  }
}
{
  "data": {
    "create_validation_rule": {
      "id": "cd7f1b7b-452e-40d3-886c-346184ffee7e",
      "if": null,
      "then": {
        "operator": "AND",
        "groups": [
          {
            "operator": "ANY_OF",
            "column_id": "status",
            "compare_value": [1, 2]
          }
        ]
      }
    }
  }
}

Reguła warunkowa - jeśli kolumna statusu ma wartość 1, kolumna tekstowa nie może być pusta:

mutation {
  create_validation_rule(
    id: 1234567890,
    type: board,
    rule: {
      if: {
        operator: AND,
        groups: [{
          operator: ANY_OF,
          column_id: "status",
          compare_value: [1]
        }]
      },
      then: {
        operator: AND,
        groups: [{
          operator: IS_NOT_EMPTY,
          column_id: "text0"
        }]
      }
    }
  ) {
    id
    if
    then
  }
}
{
  "data": {
    "create_validation_rule": {
      "id": "31933592-171a-47ae-93a5-7a1c214fc9a3",
      "if": {
        "operator": "AND",
        "groups": [
          {
            "operator": "ANY_OF",
            "column_id": "status",
            "compare_value": [1]
          }
        ]
      },
      "then": {
        "operator": "AND",
        "groups": [
          {
            "operator": "IS_NOT_EMPTY",
            "column_id": "text0",
            "compare_value": []
          }
        ]
      }
    }
  }
}

Argumenty

Argument Typ Opis Wartości wyliczeniowe
id ID! Unikalny identyfikator tablicy.
type ValidationsEntityType Typ encji, dla której ma być przeprowadzona walidacja. board
rule ValidationRuleInput! Definicja reguły zawierająca klauzulę then (wymaganą) i if (opcjonalną).

Ograniczenia

  • Reguła walidacji (bez klauzuli if) musi zawierać dokładnie jeden warunek w klauzuli then.
  • Reguła warunkowa musi zawierać dokładnie jeden warunek w klauzuli if, ale może zawierać wiele warunków w klauzuli then.
  • Kolumna może mieć tylko jedną regułę walidacji (bez klauzuli if).
  • Kolumna nie może mieć jednocześnie reguł walidacji i reguł warunkowych.
  • Niektóre operatory są dostępne tylko w regułach warunkowych. Szczegóły znajdziesz w opisie RuleOperator.

Aktualizowanie reguły walidacji

Dostępne tylko w wersjach API 2026-07 i nowszych

Aktualizuje istniejącą regułę walidacji. Musisz podać pełną definicję reguły (obie klauzule: if i then) - aktualizacje częściowe nie są obsługiwane. Zwraca ValidationRule.

mutation {
  update_validation_rule(
    id: 1234567890,
    type: board,
    rule_id: "cd7f1b7b-452e-40d3-886c-346184ffee7e",
    rule: {
      then: {
        operator: AND,
        groups: [{
          operator: GREATER_THAN_OR_EQUALS,
          column_id: "numbers0",
          compare_value: [5]
        }]
      }
    }
  ) {
    id
    if
    then
  }
}
{
  "data": {
    "update_validation_rule": {
      "id": "cd7f1b7b-452e-40d3-886c-346184ffee7e",
      "if": null,
      "then": {
        "operator": "AND",
        "groups": [
          {
            "operator": "GREATER_THAN_OR_EQUALS",
            "column_id": "numbers0",
            "compare_value": [5]
          }
        ]
      }
    }
  }
}

Argumenty

Argument Typ Opis Wartości wyliczeniowe
id ID! Unikalny identyfikator tablicy.
type ValidationsEntityType Typ encji, dla której ma być przeprowadzona walidacja. board
rule_id ID! Unikalny identyfikator reguły do zaktualizowania.
rule ValidationRuleInput! Pełna, zaktualizowana definicja reguły.

Usuwanie reguły walidacji

Dostępne tylko w wersjach API 2026-07 i nowszych

Usuwa istniejącą regułę walidacji z tablicy. Zwraca usuniętą regułę ValidationRule.

mutation {
  delete_validation_rule(
    id: 1234567890,
    type: board,
    rule_id: "cd7f1b7b-452e-40d3-886c-346184ffee7e"
  ) {
    id
    if
    then
  }
}
{
  "data": {
    "delete_validation_rule": {
      "id": "cd7f1b7b-452e-40d3-886c-346184ffee7e",
      "if": null,
      "then": {
        "operator": "AND",
        "groups": [
          {
            "operator": "ANY_OF",
            "column_id": "status",
            "compare_value": [1, 2]
          }
        ]
      }
    }
  }
}

Argumenty

Argument Typ Opis Wartości wyliczeniowe
id ID! Unikalny identyfikator tablicy.
type ValidationsEntityType Typ encji, dla której ma być przeprowadzona walidacja. board
rule_id ID! Unikalny identyfikator reguły do usunięcia.