Class DataValidation

Validation des données

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 en fonction des paramètres de cette règle.
getAllowInvalid()BooleanRenvoie true si la règle affiche un avertissement lorsque l'entrée échoue à la validation des données 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 pour les 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 en fonction des 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);

Aller-retour

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 l'entrée échoue à la validation des données ou false si elle rejette complètement l'entrée. La valeur par défaut pour les nouvelles règles de validation de données est true.

Aller-retour

Boolean : true si la règle autorise une entrée qui échoue à la validation des données ; false si ce n'est pas le cas


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(). Pour créer ou modifier une règle de validation des données à l'aide de ces valeurs, consultez la section 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.')
}

Aller-retour

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


getCriteriaValues()

Récupère un tableau d'arguments pour les critères de la règle. Pour obtenir le type de critère, utilisez getCriteriaType(). Pour utiliser ces valeurs afin de créer ou de 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.')
}

Aller-retour

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.

Aller-retour

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