Class DataValidation

DataValidation

Accede a las reglas de validación de datos. Para crear una regla nueva, usa SpreadsheetApp.newDataValidation() y DataValidationBuilder. Puedes usar Range.setDataValidation(rule) para establecer la regla de validación de un rango.

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

Métodos

MétodoTipo de datos que se devuelveDescripción breve
copy()DataValidationBuilderCrea un compilador para una regla de validación de datos basada en la configuración de esta regla.
getAllowInvalid()BooleanMuestra true si la regla muestra una advertencia cuando la entrada no pasa la validación de datos o false si rechaza la entrada por completo.
getCriteriaType()DataValidationCriteriaObtiene el tipo de criterio de la regla tal como se define en la enumeración DataValidationCriteria.
getCriteriaValues()Object[]Obtiene un array de argumentos para los criterios de la regla.
getHelpText()StringObtiene el texto de ayuda de la regla o null si no se establece ningún texto de ayuda.

Documentación detallada

copy()

Crea un compilador para una regla de validación de datos basada en la configuración de esta regla.

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

Volver

DataValidationBuilder: Un compilador basado en la configuración de esta regla


getAllowInvalid()

Muestra true si la regla muestra una advertencia cuando la entrada no pasa la validación de datos o false si rechaza la entrada por completo. El valor predeterminado para las reglas de validación de datos nuevas es true.

Volver

Boolean: true si la regla permite la entrada que no pasa la validación de datos; false si no lo hace


getCriteriaType()

Obtiene el tipo de criterio de la regla tal como se define en la enumeración DataValidationCriteria. Para obtener los argumentos de los criterios, usa getCriteriaValues(). Para usar estos valores para crear o modificar una regla de validación de datos, 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.');
}

Volver

DataValidationCriteria: El tipo de criterio de validación de datos


getCriteriaValues()

Obtiene un array de argumentos para los criterios de la regla. Para obtener el tipo de criterio, usa getCriteriaType(). Para usar estos valores para crear o modificar una regla de validación de datos, 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.');
}

Volver

Object[] — un array de argumentos adecuados para el tipo de criterio de la regla; la cantidad de argumentos y su tipo coinciden con el método require...() correspondiente de la clase DataValidationBuilder


getHelpText()

Obtiene el texto de ayuda de la regla o null si no se establece ningún texto de ayuda.

Volver

String: El texto de ayuda de la regla o null si no se establece ningún texto de ayuda