Class DataValidation

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Sprawdzanie poprawności danych

Dostęp do reguł weryfikacji danych. Aby utworzyć nową regułę, użyj właściwości SpreadsheetApp.newDataValidation() i DataValidationBuilder. Możesz użyć reguły Range.setDataValidation(rule), aby ustawić regułę weryfikacji dla zakresu.

// Log information about the data validation rule for cell A1.
var cell = SpreadsheetApp.getActive().getRange('A1');
var rule = cell.getDataValidation();
if (rule != null) {
  var criteria = rule.getCriteriaType();
  var args = rule.getCriteriaValues();
  Logger.log('The data validation rule is %s %s', criteria, args);
} else {
  Logger.log('The cell does not have a data validation rule.')
}

Metody

MetodaZwracany typKrótki opis
copy()DataValidationBuilderTworzy konstrukcję reguły weryfikacji danych na podstawie ustawień tej reguły.
getAllowInvalid()BooleanZwraca wartość true, jeśli reguła wyświetla ostrzeżenie, gdy dane wejściowe nie przejdą weryfikacji, lub false, jeśli całkowicie odrzuci dane wejściowe.
getCriteriaType()DataValidationCriteriaPobiera typ kryteriów reguły określony w wyliczeniu DataValidationCriteria.
getCriteriaValues()Object[]Pobiera tablicę argumentów na potrzeby reguły.
getHelpText()StringPobiera tekst pomocy reguły lub tekst null, jeśli nie jest ustawiony tekst pomocy.

Szczegółowa dokumentacja

copy()

Tworzy konstrukcję reguły weryfikacji danych na podstawie ustawień tej reguły.

// Change existing data validation rules that require a date in 2013 to require a date in 2014.
var oldDates = [new Date('1/1/2013'), new Date('12/31/2013')];
var newDates = [new Date('1/1/2014'), new Date('12/31/2014')];
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns());
var rules = range.getDataValidations();

for (var i = 0; i < rules.length; i++) {
  for (var j = 0; j < rules[i].length; j++) {
    var rule = rules[i][j];

    if (rule != null) {
      var criteria = rule.getCriteriaType();
      var args = rule.getCriteriaValues();

      if (criteria == SpreadsheetApp.DataValidationCriteria.DATE_BETWEEN
          && args[0].getTime() == oldDates[0].getTime()
          && args[1].getTime() == oldDates[1].getTime()) {
        // Create a builder from the existing rule, then change the dates.
        rules[i][j] = rule.copy().withCriteria(criteria, newDates).build();
      }
    }
  }
}
range.setDataValidations(rules);

Zwróć

DataValidationBuilder – kreator oparty na ustawieniach tej reguły


getAllowInvalid()

Zwraca wartość true, jeśli reguła wyświetla ostrzeżenie, gdy dane wejściowe nie przejdą weryfikacji, lub false, jeśli całkowicie odrzuci dane wejściowe. Domyślnie nowe reguły weryfikacji danych mają wartość true.

Zwróć

Booleantrue, jeśli reguła zezwala na dane wejściowe, które nie przeszły weryfikacji danych; false – jeśli nie


getCriteriaType()

Pobiera typ kryteriów reguły określony w wyliczeniu DataValidationCriteria. Aby wyświetlić argumenty dotyczące kryteriów, użyj funkcji getCriteriaValues(). Aby użyć tych wartości do utworzenia lub zmiany reguły weryfikacji danych, zapoznaj się z artykułem DataValidationBuilder.withCriteria(criteria, args).

// Log information about the data validation rule for cell A1.
var cell = SpreadsheetApp.getActive().getRange('A1');
var rule = cell.getDataValidation();
if (rule != null) {
  var criteria = rule.getCriteriaType();
  var args = rule.getCriteriaValues();
  Logger.log('The data validation rule is %s %s', criteria, args);
} else {
  Logger.log('The cell does not have a data validation rule.')
}

Zwróć

DataValidationCriteria – typ kryteriów weryfikacji danych;


getCriteriaValues()

Pobiera tablicę argumentów na potrzeby reguły. Aby uzyskać typ kryteriów, użyj getCriteriaType(). Aby użyć tych wartości do utworzenia lub zmiany reguły weryfikacji danych, przeczytaj artykuł DataValidationBuilder.withCriteria(criteria, args).

// Log information about the data validation rule for cell A1.
var cell = SpreadsheetApp.getActive().getRange('A1');
var rule = cell.getDataValidation();
if (rule != null) {
  var criteria = rule.getCriteriaType();
  var args = rule.getCriteriaValues();
  Logger.log('The data validation rule is %s %s', criteria, args);
} else {
  Logger.log('The cell does not have a data validation rule.')
}

Zwróć

Object[] – tablica argumentów odpowiednich dla typu kryterium reguły; liczba argumentów i ich typu odpowiada odpowiedniej metodzie require...() w klasie DataValidation


getHelpText()

Pobiera tekst pomocy reguły lub tekst null, jeśli nie jest ustawiony tekst pomocy.

Zwróć

String – tekst pomocy dotyczący reguły lub null, jeśli nie jest ustawiony tekst pomocy;