Class DataValidation

Validación de datos

Acceder 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 muestraDescripción breve
copy()DataValidationBuilderCrea un compilador para una regla de validación de datos según la configuración de esta regla.
getAllowInvalid()BooleanDevuelve 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 criterios de la regla 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 configuró ningún texto de ayuda.

Documentación detallada

copy()

Crea un compilador para una regla de validación de datos según 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: Es un compilador basado en la configuración de esta regla.


getAllowInvalid()

Devuelve 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 entradas que no cumplen con la validación de datos; false si no es así


getCriteriaType()

Obtiene el tipo de criterios de la regla como se define en la enumeración DataValidationCriteria. Para obtener los argumentos de los criterios, usa getCriteriaValues(). Para usar estos valores y 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: Es el tipo de criterios de validación de datos.


getCriteriaValues()

Obtiene un array de argumentos para los criterios de la regla. Para obtener el tipo de criterios, usa getCriteriaType(). Para usar estos valores y 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[]: Es un array de argumentos adecuados para el tipo de criterios 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 configuró ningún texto de ayuda.

Volver

String: Es el texto de ayuda de la regla o null si no se configuró ningún texto de ayuda.