Class DataValidationBuilder

DataValidationBuilder

Builder para regras de validação de dados.

// Set the data validation for cell A1 to require a value from B1:B10.
const cell = SpreadsheetApp.getActive().getRange('A1');
const range = SpreadsheetApp.getActive().getRange('B1:B10');
const rule =
    SpreadsheetApp.newDataValidation().requireValueInRange(range).build();
cell.setDataValidation(rule);

Métodos

MétodoTipo de retornoBreve descrição
build()DataValidationCria uma regra de validação de dados com base nas configurações aplicadas ao builder.
copy()DataValidationBuilderCria um builder para uma regra de validação de dados com base nas configurações dessa regra.
getAllowInvalid()BooleanRetorna true se a regra mostrar um aviso quando a entrada não passar na validação de dados ou false se ela rejeitar a entrada por completo.
getCriteriaType()DataValidationCriteriaRecebe o tipo de critério da regra, conforme definido na enumeração DataValidationCriteria.
getCriteriaValues()Object[]Recebe uma matriz de argumentos para os critérios da regra.
getHelpText()StringRecebe o texto de ajuda da regra ou null se nenhum texto de ajuda estiver definido.
requireCheckbox()DataValidationBuilderDefine a regra de validação de dados para exigir que a entrada seja um valor booleano. Esse valor é renderizado como uma caixa de seleção.
requireCheckbox(checkedValue)DataValidationBuilderDefine a regra de validação de dados para exigir que a entrada seja o valor especificado ou esteja em branco.
requireCheckbox(checkedValue, uncheckedValue)DataValidationBuilderDefine a regra de validação de dados para exigir que a entrada seja um dos valores especificados.
requireDate()DataValidationBuilderDefine a regra de validação de dados para exigir uma data.
requireDateAfter(date)DataValidationBuilderDefine a regra de validação de dados para exigir uma data posterior ao valor especificado.
requireDateBefore(date)DataValidationBuilderDefine a regra de validação de dados para exigir uma data anterior ao valor especificado.
requireDateBetween(start, end)DataValidationBuilderDefine a regra de validação de dados para exigir uma data que esteja entre duas datas especificadas ou seja uma delas.
requireDateEqualTo(date)DataValidationBuilderDefine a regra de validação de dados para exigir uma data igual ao valor especificado.
requireDateNotBetween(start, end)DataValidationBuilderDefine a regra de validação de dados para exigir uma data que não esteja entre duas datas especificadas nem seja uma delas.
requireDateOnOrAfter(date)DataValidationBuilderDefine a regra de validação de dados para exigir uma data igual ou posterior ao valor especificado.
requireDateOnOrBefore(date)DataValidationBuilderDefine a regra de validação de dados para exigir uma data igual ou anterior ao valor especificado.
requireFormulaSatisfied(formula)DataValidationBuilderDefine a regra de validação de dados para exigir que a fórmula fornecida seja avaliada como true.
requireNumberBetween(start, end)DataValidationBuilderDefine a regra de validação de dados para exigir um número que esteja entre dois números especificados ou seja um deles.
requireNumberEqualTo(number)DataValidationBuilderDefine a regra de validação de dados para exigir um número igual ao valor especificado.
requireNumberGreaterThan(number)DataValidationBuilderDefine a regra de validação de dados para exigir um número maior que o valor especificado.
requireNumberGreaterThanOrEqualTo(number)DataValidationBuilderDefine a regra de validação de dados para exigir um número maior ou igual ao valor especificado.
requireNumberLessThan(number)DataValidationBuilderDefine a regra de validação de dados para exigir um número menor que o valor especificado.
requireNumberLessThanOrEqualTo(number)DataValidationBuilderDefine a regra de validação de dados para exigir um número menor ou igual ao valor especificado.
requireNumberNotBetween(start, end)DataValidationBuilderDefine a regra de validação de dados para exigir um número que não esteja entre dois números especificados e não seja nenhum deles.
requireNumberNotEqualTo(number)DataValidationBuilderDefine a regra de validação de dados para exigir um número diferente do valor especificado.
requireTextContains(text)DataValidationBuilderDefine a regra de validação de dados para exigir que a entrada contenha o valor especificado.
requireTextDoesNotContain(text)DataValidationBuilderDefine a regra de validação de dados para exigir que a entrada não contenha o valor especificado.
requireTextEqualTo(text)DataValidationBuilderDefine a regra de validação de dados para exigir que a entrada seja igual ao valor especificado.
requireTextIsEmail()DataValidationBuilderDefine a regra de validação de dados para exigir que a entrada esteja no formato de um endereço de e-mail.
requireTextIsUrl()DataValidationBuilderDefine a regra de validação de dados para exigir que a entrada esteja na forma de um URL.
requireValueInList(values)DataValidationBuilderDefine a regra de validação de dados para exigir que a entrada seja igual a um dos valores fornecidos.
requireValueInList(values, showDropdown)DataValidationBuilderDefine a regra de validação de dados para exigir que a entrada seja igual a um dos valores fornecidos, com uma opção para ocultar o menu suspenso.
requireValueInRange(range)DataValidationBuilderDefine a regra de validação de dados para exigir que a entrada seja igual a um valor no intervalo especificado.
requireValueInRange(range, showDropdown)DataValidationBuilderDefine a regra de validação de dados para exigir que a entrada seja igual a um valor no intervalo especificado, com a opção de ocultar o menu suspenso.
setAllowInvalid(allowInvalidData)DataValidationBuilderDefine se um aviso será mostrado quando a entrada não passar na validação de dados ou se ela será rejeitada por completo.
setHelpText(helpText)DataValidationBuilderDefine o texto de ajuda que aparece quando o usuário passa o cursor sobre a célula em que a validação de dados está definida.
withCriteria(criteria, args)DataValidationBuilderDefine a regra de validação de dados para os critérios definidos pelos valores DataValidationCriteria, geralmente extraídos de criteria e arguments de uma regra existente.

Documentação detalhada

build()

Cria uma regra de validação de dados com base nas configurações aplicadas ao builder.

Retornar

DataValidation: uma representação da regra de validação de dados


copy()

Cria um builder para uma regra de validação de dados com base nas configurações dessa regra.

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

Retornar

DataValidationBuilder: um builder com base nas configurações desta regra


getAllowInvalid()

Retorna true se a regra mostrar um aviso quando a entrada não passar na validação de dados ou false se ela rejeitar a entrada por completo. O padrão para novas regras de validação de dados é true.

Retornar

Boolean: true se a regra permitir entradas que falham na validação de dados; false se não permitir.


getCriteriaType()

Recebe o tipo de critério da regra, conforme definido na enumeração DataValidationCriteria. Para receber os argumentos dos critérios, use getCriteriaValues(). Para usar esses valores e criar ou modificar uma regra de validação de dados, consulte 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.');
}

Retornar

DataValidationCriteria: o tipo de critério de validação de dados


getCriteriaValues()

Recebe uma matriz de argumentos para os critérios da regra. Para receber o tipo de critério, use getCriteriaType(). Para usar esses valores e criar ou modificar uma regra de validação de dados, consulte 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.');
}

Retornar

Object[]: uma matriz de argumentos adequada ao tipo de critério da regra. O número de argumentos e o tipo deles correspondem ao método require...() da classe DataValidationBuilder.


getHelpText()

Recebe o texto de ajuda da regra ou null se nenhum texto de ajuda estiver definido.

Retornar

String: o texto de ajuda da regra ou null se nenhum texto de ajuda estiver definido.


requireCheckbox()

Define a regra de validação de dados para exigir que a entrada seja um valor booleano. Esse valor é renderizado como uma caixa de seleção.

// Set the data validation for cell A1 to require a boolean value; the value is
// rendered as a checkbox.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation().requireCheckbox().build();
cell.setDataValidation(rule);

Retornar

DataValidationBuilder: este builder, para encadeamento


requireCheckbox(checkedValue)

Define a regra de validação de dados para exigir que a entrada seja o valor especificado ou esteja em branco. Quando a entrada corresponde ao valor especificado, a célula é renderizada como uma caixa de seleção marcada. Quando a entrada está em branco, a célula é renderizada como uma caixa de seleção desmarcada.

// Set the data validation for cell A1 to require a custom checked value that is
// rendered as a checkbox.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireCheckbox('APPROVED').build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
checkedValueObjectO valor atribuído a uma caixa de seleção marcada.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireCheckbox(checkedValue, uncheckedValue)

Define a regra de validação de dados para exigir que a entrada seja um dos valores especificados. Quando a entrada é checkedValue, a célula é renderizada como uma caixa de seleção marcada. Quando a entrada é uncheckedValue, a célula é renderizada como uma caixa de seleção desmarcada.

// Set the data validation for cell A1 to require custom checked values that are
// rendered as a checkbox.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireCheckbox('APPROVED', 'PENDING')
                 .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
checkedValueObjectO valor atribuído a uma caixa de seleção marcada.
uncheckedValueObjectO valor atribuído a uma caixa desmarcada.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireDate()

Define a regra de validação de dados para exigir uma data.

// Set the data validation for cell A1 to require a date.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation().requireDate().build();
cell.setDataValidation(rule);

Retornar

DataValidationBuilder: este builder, para encadeamento


requireDateAfter(date)

Define a regra de validação de dados para exigir uma data posterior ao valor especificado. Os campos de hora do objeto Date são ignorados. Somente os campos de dia, mês e ano são usados.

// Set the data validation for cell A1 to require a date after January 1, 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireDateAfter(new Date('1/1/2013'))
                 .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
dateDateA última data inaceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireDateBefore(date)

Define a regra de validação de dados para exigir uma data anterior ao valor especificado. Os campos de hora do objeto Date são ignorados. Somente os campos de dia, mês e ano são usados.

// Set the data validation for cell A1 to require a date before January 1, 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireDateBefore(new Date('1/1/2013'))
                 .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
dateDateA data mais antiga inaceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireDateBetween(start, end)

Define a regra de validação de dados para exigir uma data que esteja entre duas datas especificadas ou seja uma delas. Os campos de hora dos objetos Date são ignorados. Somente os campos de dia, mês e ano são usados.

// Set the data validation for cell A1 to require a date in 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation()
        .requireDateBetween(new Date('1/1/2013'), new Date('12/31/2013'))
        .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
startDateA data mais antiga aceitável.
endDateA data aceitável mais recente.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireDateEqualTo(date)

Define a regra de validação de dados para exigir uma data igual ao valor especificado. Os campos de hora do objeto Date são ignorados. Somente os campos de dia, mês e ano são usados.

// Set the data validation for cell A1 to require a date equal to January 1,
// 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireDateEqualTo(new Date('1/1/2013'))
                 .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
dateDateA única data aceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireDateNotBetween(start, end)

Define a regra de validação de dados para exigir uma data que não esteja entre duas datas especificadas nem seja uma delas. Os campos de hora dos objetos Date são ignorados. Somente os campos de dia, mês e ano são usados.

// Set the data validation for cell A1 to require a date not in 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation()
        .requireDateNotBetween(new Date('1/1/2013'), new Date('12/31/2013'))
        .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
startDateA data mais antiga inaceitável.
endDateA última data inaceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireDateOnOrAfter(date)

Define a regra de validação de dados para exigir uma data igual ou posterior ao valor especificado. Os campos de hora do objeto Date são ignorados. Somente os campos de dia, mês e ano são usados.

// Set the data validation for cell A1 to require a date on or after January 1,
// 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireDateOnOrAfter(new Date('1/1/2013'))
                 .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
dateDateA data mais antiga aceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireDateOnOrBefore(date)

Define a regra de validação de dados para exigir uma data igual ou anterior ao valor especificado. Os campos de hora do objeto Date são ignorados. Somente os campos de dia, mês e ano são usados.

// Set the data validation for cell A1 to require a date on or before January 1,
// 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireDateOnOrBefore(new Date('1/1/2013'))
                 .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
dateDateA data aceitável mais recente.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireFormulaSatisfied(formula)

Define a regra de validação de dados para exigir que a fórmula fornecida seja avaliada como true.

// Set the data validation for cell A1 to equal B1 with a custom formula.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireFormulaSatisfied('=EQ(A1,B1)')
                 .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
formulaStringUma fórmula personalizada que é avaliada como true se a entrada for válida.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireNumberBetween(start, end)

Define a regra de validação de dados para exigir um número que esteja entre dois números especificados ou seja um deles.

// Set the data validation for cell A1 to require a number between 1 and 10.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireNumberBetween(1, 10).build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
startNumberO menor valor aceitável.
endNumberO maior valor aceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireNumberEqualTo(number)

Define a regra de validação de dados para exigir um número igual ao valor especificado.

// Set the data validation for cell A1 to require a number equal
// to 3.1415926536.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireNumberEqualTo(Math.PI).build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
numberNumberO único valor aceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireNumberGreaterThan(number)

Define a regra de validação de dados para exigir um número maior que o valor especificado.

// Set the data validation for cell A1 to require a number greater than 0.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireNumberGreaterThan(0).build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
numberNumberO maior valor inaceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireNumberGreaterThanOrEqualTo(number)

Define a regra de validação de dados para exigir um número maior ou igual ao valor especificado.

// Set the data validation for cell A1 to require a number greater than or equal
// to 0.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireNumberGreaterThanOrEqualTo(0)
                 .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
numberNumberO menor valor aceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireNumberLessThan(number)

Define a regra de validação de dados para exigir um número menor que o valor especificado.

// Set the data validation for cell A1 to require a number less than 0.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireNumberLessThan(0).build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
numberNumberO menor valor inaceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireNumberLessThanOrEqualTo(number)

Define a regra de validação de dados para exigir um número menor ou igual ao valor especificado.

// Set the data validation for cell A1 to require a number less than or equal to
// 0.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireNumberLessThanOrEqualTo(0)
                 .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
numberNumberO maior valor aceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireNumberNotBetween(start, end)

Define a regra de validação de dados para exigir um número que não esteja entre dois números especificados e não seja nenhum deles.

// Set the data validation for cell A1 to require a number not between 1 and 10.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireNumberNotBetween(1, 10).build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
startNumberO menor valor inaceitável.
endNumberO maior valor inaceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireNumberNotEqualTo(number)

Define a regra de validação de dados para exigir um número diferente do valor especificado.

// Set the data validation for cell A1 to require a number not equal to 0.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireNumberNotEqualTo(0).build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
numberNumberO único valor inaceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireTextContains(text)

Define a regra de validação de dados para exigir que a entrada contenha o valor especificado.

// Set the data validation for cell A1 to require any value that includes
// "Google".
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireTextContains('Google').build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
textStringO valor que a entrada precisa conter.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireTextDoesNotContain(text)

Define a regra de validação de dados para exigir que a entrada não contenha o valor especificado.

// Set the data validation for cell A1 to require any value that does not
// include "@".
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireTextDoesNotContain('@').build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
textStringO valor que a entrada não pode conter.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireTextEqualTo(text)

Define a regra de validação de dados para exigir que a entrada seja igual ao valor especificado.

// Set the data validation for cell A1 to require "Yes".
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireTextEqualTo('Yes').build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
textStringO único valor aceitável.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireTextIsEmail()

Define a regra de validação de dados para exigir que a entrada esteja no formato de um endereço de e-mail.

// Set the data validation for cell A1 to require text in the form of an email
// address.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation().requireTextIsEmail().build();
cell.setDataValidation(rule);

Retornar

DataValidationBuilder: este builder, para encadeamento


requireTextIsUrl()

Define a regra de validação de dados para exigir que a entrada esteja na forma de um URL.

// Set the data validation for cell A1 to require text in the form of a URL.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation().requireTextIsUrl().build();
cell.setDataValidation(rule);

Retornar

DataValidationBuilder: este builder, para encadeamento


requireValueInList(values)

Define a regra de validação de dados para exigir que a entrada seja igual a um dos valores fornecidos.

// Set the data validation for cell A1 to require "Yes" or "No", with a dropdown
// menu.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireValueInList(['Yes', 'No'])
                 .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
valuesString[]Uma matriz de valores aceitáveis.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireValueInList(values, showDropdown)

Define a regra de validação de dados para exigir que a entrada seja igual a um dos valores fornecidos, com uma opção para ocultar o menu suspenso.

// Set the data validation for cell A1 to require "Yes" or "No", with no
// dropdown menu.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireValueInList(['Yes', 'No'], false)
                 .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
valuesString[]Uma matriz de valores aceitáveis.
showDropdownBooleantrue se a planilha mostrar um menu suspenso para os valores; false se não.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireValueInRange(range)

Define a regra de validação de dados para exigir que a entrada seja igual a um valor no intervalo especificado.

// Set the data validation for cell A1 to require a value from B1:B10, with a
// dropdown menu.
const cell = SpreadsheetApp.getActive().getRange('A1');
const range = SpreadsheetApp.getActive().getRange('B1:B10');
const rule =
    SpreadsheetApp.newDataValidation().requireValueInRange(range).build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
rangeRangeUm intervalo que contém os valores aceitáveis.

Retornar

DataValidationBuilder: este builder, para encadeamento


requireValueInRange(range, showDropdown)

Define a regra de validação de dados para exigir que a entrada seja igual a um valor no intervalo especificado, com a opção de ocultar o menu suspenso.

// Set the data validation for cell A1 to require value from B1:B10, with no
// dropdown menu.
const cell = SpreadsheetApp.getActive().getRange('A1');
const range = SpreadsheetApp.getActive().getRange('B1:B10');
const rule = SpreadsheetApp.newDataValidation()
                 .requireValueInRange(range, false)
                 .build();
cell.setDataValidation(rule);

Parâmetros

NomeTipoDescrição
rangeRangeUm intervalo que contém os valores aceitáveis.
showDropdownBooleantrue se a planilha mostrar um menu suspenso para os valores; false se não.

Retornar

DataValidationBuilder: este builder, para encadeamento


setAllowInvalid(allowInvalidData)

Define se um aviso será mostrado quando a entrada não passar na validação de dados ou se ela será rejeitada por completo. O padrão para novas regras de validação de dados é true.

Parâmetros

NomeTipoDescrição
allowInvalidDataBooleantrue se a regra permitir entradas que falham na validação de dados; false caso contrário.

Retornar

DataValidationBuilder: este builder, para encadeamento


setHelpText(helpText)

Define o texto de ajuda que aparece quando o usuário passa o cursor sobre a célula em que a validação de dados está definida.

Parâmetros

NomeTipoDescrição
helpTextStringO texto de ajuda a ser definido.

Retornar

DataValidationBuilder: este builder, para encadeamento


withCriteria(criteria, args)

Define a regra de validação de dados para os critérios definidos pelos valores DataValidationCriteria, geralmente extraídos de criteria e arguments de uma regra existente.

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

Parâmetros

NomeTipoDescrição
criteriaDataValidationCriteriaO tipo de critério de validação de dados.
argsObject[]Uma matriz de argumentos adequada ao tipo de critério. O número de argumentos e o tipo deles correspondem ao método require...() acima.

Retornar

DataValidationBuilder: este builder, para encadeamento