Class DataValidation

DataValidation

Accédez aux règles de validation des données. Pour créer une règle, utilisez SpreadsheetApp.newDataValidation() et DataValidationBuilder. Vous pouvez utiliser Range.setDataValidation(rule) pour définir la règle de validation d'une plage.

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

Méthodes

MéthodeType renvoyéBrève description
copy()DataValidationBuilderCrée un compilateur pour une règle de validation des données basée sur les paramètres de cette règle.
getAllowInvalid()BooleanRenvoie true si la règle affiche un avertissement lorsque la validation des données échoue, ou false si elle rejette complètement l'entrée.
getCriteriaType()DataValidationCriteriaRécupère le type de critère de la règle tel que défini dans l'énumération DataValidationCriteria.
getCriteriaValues()Object[]Récupère un tableau d'arguments correspondant aux critères de la règle.
getHelpText()StringRécupère le texte d'aide de la règle ou null si aucun texte d'aide n'est défini.

Documentation détaillée

copy()

Crée un compilateur pour une règle de validation des données basée sur les paramètres de cette règle.

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

Renvois

DataValidationBuilder : outil de création basé sur les paramètres de cette règle


getAllowInvalid()

Renvoie true si la règle affiche un avertissement lorsque la validation des données échoue, ou false si elle rejette complètement l'entrée. La valeur par défaut pour les nouvelles règles de validation des données est true.

Renvois

Boolean : true si la règle autorise une entrée dont la validation des données échoue ; false dans le cas contraire.


getCriteriaType()

Récupère le type de critère de la règle tel que défini dans l'énumération DataValidationCriteria. Pour obtenir les arguments des critères, utilisez getCriteriaValues(). Si vous souhaitez utiliser ces valeurs pour créer ou modifier une règle de validation des données, consultez 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.')
}

Renvois

DataValidationCriteria : type de critère de validation des données


getCriteriaValues()

Récupère un tableau d'arguments correspondant aux critères de la règle. Pour obtenir le type de critère, utilisez getCriteriaType(). Pour créer ou modifier une règle de validation des données à l'aide de ces valeurs, consultez 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.')
}

Renvois

Object[] : tableau d'arguments adapté au type de critère de la règle. Le nombre d'arguments et leur type correspondent à la méthode require...() correspondante de la classe DataValidationBuilder.


getHelpText()

Récupère le texte d'aide de la règle ou null si aucun texte d'aide n'est défini.

Renvois

String : texte d'aide de la règle ou null si aucun texte d'aide n'est défini