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 .

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

Boolean — значение true , если правило допускает ввод, не прошедший проверку данных; 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...() класса DataValidation


getHelpText()

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

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

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