Class DataValidation

Convalida dei dati

Accedi alle regole di convalida dei dati. Per creare una nuova regola, utilizza SpreadsheetApp.newDataValidation() e DataValidationBuilder. Puoi utilizzare Range.setDataValidation(rule) per impostare la regola di convalida per un intervallo.

// Log information about the data validation rule for cell A1.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = cell.getDataValidation();
if (rule != null) {
  const criteria = rule.getCriteriaType();
  const 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.');
}

Metodi

MetodoTipo restituitoBreve descrizione
copy()DataValidationBuilderCrea un generatore per una regola di convalida dei dati in base alle impostazioni di questa regola.
getAllowInvalid()BooleanRestituisce true se la regola mostra un avviso quando l'input non supera la convalida dei dati o false se lo rifiuta del tutto.
getCriteriaType()DataValidationCriteriaRecupera il tipo di criteri della regola come definito nell'enum DataValidationCriteria.
getCriteriaValues()Object[]Restituisce un array di argomenti per i criteri della regola.
getHelpText()StringRecupera il testo della guida della regola o null se non è impostato alcun testo della guida.

Documentazione dettagliata

copy()

Crea un generatore per una regola di convalida dei dati in base alle impostazioni di questa regola.

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

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

    if (rule != null) {
      const criteria = rule.getCriteriaType();
      const 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);

Invio

DataValidationBuilder: un generatore basato sulle impostazioni di questa regola


getAllowInvalid()

Restituisce true se la regola mostra un avviso quando l'input non supera la convalida dei dati o false se lo rifiuta del tutto. Il valore predefinito per le nuove regole di convalida dei dati è true.

Invio

Boolean - true se la regola consente input che non superano la convalida dei dati; false in caso contrario


getCriteriaType()

Recupera il tipo di criteri della regola come definito nell'enum DataValidationCriteria. Per ottenere gli argomenti per i criteri, utilizza getCriteriaValues(). Per utilizzare questi valori per creare o modificare una regola di convalida dei dati, consulta DataValidationBuilder.withCriteria(criteria, args).

// Log information about the data validation rule for cell A1.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = cell.getDataValidation();
if (rule != null) {
  const criteria = rule.getCriteriaType();
  const 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.');
}

Invio

DataValidationCriteria: il tipo di criteri di convalida dei dati


getCriteriaValues()

Restituisce un array di argomenti per i criteri della regola. Per ottenere il tipo di criteri, utilizza getCriteriaType(). Per utilizzare questi valori per creare o modificare una regola di convalida dei dati, consulta DataValidationBuilder.withCriteria(criteria, args).

// Log information about the data validation rule for cell A1.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = cell.getDataValidation();
if (rule != null) {
  const criteria = rule.getCriteriaType();
  const 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.');
}

Invio

Object[]: un array di argomenti appropriati al tipo di criteri della regola; il numero di argomenti e il relativo tipo corrispondono al metodo require...() corrispondente della classe DataValidationBuilder


getHelpText()

Recupera il testo della guida della regola o null se non è impostato alcun testo della guida.

Invio

String: il testo della guida della regola o null se non è impostato alcun testo della guida