Class DataValidation

Валидация данных

Правила проверки данных доступа. Чтобы создать новое правило, используйте SpreadsheetApp.newDataValidation() и DataValidationBuilder . Вы можете использовать Range.setDataValidation(rule) , чтобы установить правило проверки для диапазона.

// 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.')
}

Методы

Метод Тип возврата Краткое описание
copy() DataValidationBuilder Создает построитель для правила проверки данных на основе настроек этого правила.
getAllowInvalid() Boolean Возвращает true если правило отображает предупреждение, когда входные данные не проходят проверку, или false если входные данные полностью отклоняются.
getCriteriaType() DataValidationCriteria Получает тип критерия правила, определенный в перечислении DataValidationCriteria .
getCriteriaValues() Object[] Получает массив аргументов для критериев правила.
getHelpText() String Получает текст справки по правилу или null , если текст справки не задан.

Подробная документация

copy()

Создает построитель для правила проверки данных на основе настроек этого правила.

// 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);

Возвращаться

DataValidationBuilder — конструктор на основе настроек этого правила.


getAllowInvalid()

Возвращает true если правило отображает предупреждение, когда входные данные не проходят проверку, или false если входные данные полностью отклоняются. По умолчанию для новых правил проверки данных установлено значение true .

Возвращаться

Booleantrue , если правило разрешает ввод данных, не прошедший проверку; false если нет


getCriteriaType()

Получает тип критерия правила, определенный в перечислении DataValidationCriteria . Чтобы получить аргументы для критериев, используйте getCriteriaValues() . Чтобы использовать эти значения для создания или изменения правила проверки данных, см. 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.')
}

Возвращаться

DataValidationCriteria — тип критериев проверки данных.


getCriteriaValues()

Получает массив аргументов для критериев правила. Чтобы получить тип критерия, используйте getCriteriaType() . Чтобы использовать эти значения для создания или изменения правила проверки данных, см. 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.')
}

Возвращаться

Object[] — массив аргументов, соответствующий типу критериев правила; количество аргументов и их тип соответствуют соответствующему require...() класса DataValidationBuilder .


getHelpText()

Получает текст справки по правилу или null , если текст справки не задан.

Возвращаться

String — текст справки по правилу или null , если текст справки не задан.