Class DataValidationBuilder

数据验证构建器

数据验证规则的构建器。

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

方法

方法返回类型简介
build()DataValidation根据应用于构建器的设置构建数据验证规则。
copy()DataValidationBuilder根据此规则的设置为数据验证规则创建构建器。
getAllowInvalid()Boolean如果规则在输入数据验证失败时显示警告,则返回 true;如果完全拒绝输入,则返回 false
getCriteriaType()DataValidationCriteria获取规则的条件类型(如 DataValidationCriteria 枚举中所定义)。
getCriteriaValues()Object[]获取规则条件的参数数组。
getHelpText()String获取规则的帮助文本,如果未设置帮助文本,则返回 null
requireCheckbox()DataValidationBuilder将数据验证规则设置为要求输入值为布尔值;此值将呈现为复选框。
requireCheckbox(checkedValue)DataValidationBuilder设置数据验证规则,要求输入值为指定值或为空。
requireCheckbox(checkedValue, uncheckedValue)DataValidationBuilder设置数据验证规则,要求输入值为指定值之一。
requireDate()DataValidationBuilder将数据验证规则设置为要求输入日期。
requireDateAfter(date)DataValidationBuilder将数据验证规则设置为要求日期晚于给定值。
requireDateBefore(date)DataValidationBuilder将数据验证规则设置为要求日期早于给定值。
requireDateBetween(start, end)DataValidationBuilder将数据验证规则设置为要求日期介于两个指定日期之间或为其中一个日期。
requireDateEqualTo(date)DataValidationBuilder将数据验证规则设置为要求日期等于给定值。
requireDateNotBetween(start, end)DataValidationBuilder设置数据验证规则,要求日期不介于两个指定日期之间,也不是这两个日期。
requireDateOnOrAfter(date)DataValidationBuilder将数据验证规则设置为要求日期不低于指定值。
requireDateOnOrBefore(date)DataValidationBuilder将数据验证规则设置为要求日期不晚于给定值。
requireFormulaSatisfied(formula)DataValidationBuilder设置数据验证规则,要求给定公式的求值结果为 true
requireNumberBetween(start, end)DataValidationBuilder将数据验证规则设置为要求输入的数字介于两个指定数字之间或等于其中一个数字。
requireNumberEqualTo(number)DataValidationBuilder将数据验证规则设置为要求输入的数字等于给定值。
requireNumberGreaterThan(number)DataValidationBuilder将数据验证规则设置为要求输入的数字大于给定值。
requireNumberGreaterThanOrEqualTo(number)DataValidationBuilder将数据验证规则设置为要求输入的数字大于或等于给定值。
requireNumberLessThan(number)DataValidationBuilder将数据验证规则设置为要求输入的数字小于给定值。
requireNumberLessThanOrEqualTo(number)DataValidationBuilder将数据验证规则设置为要求输入的数字小于或等于给定值。
requireNumberNotBetween(start, end)DataValidationBuilder设置数据验证规则,要求输入的数字不介于两个指定数字之间,也不等于这两个数字。
requireNumberNotEqualTo(number)DataValidationBuilder将数据验证规则设置为要求输入的数字不等于给定值。
requireTextContains(text)DataValidationBuilder设置数据验证规则,要求输入包含给定值。
requireTextDoesNotContain(text)DataValidationBuilder设置数据验证规则,要求输入不包含给定值。
requireTextEqualTo(text)DataValidationBuilder设置数据验证规则,要求输入值等于给定值。
requireTextIsEmail()DataValidationBuilder设置数据验证规则,要求输入内容采用电子邮件地址的形式。
requireTextIsUrl()DataValidationBuilder设置数据验证规则,要求输入内容采用网址格式。
requireValueInList(values)DataValidationBuilder将数据验证规则设置为要求输入值等于给定值之一。
requireValueInList(values, showDropdown)DataValidationBuilder设置数据验证规则,要求输入值等于给定值之一,并提供一个用于隐藏下拉菜单的选项。
requireValueInRange(range)DataValidationBuilder设置数据验证规则,要求输入值等于给定范围内的值。
requireValueInRange(range, showDropdown)DataValidationBuilder设置数据验证规则,要求输入值等于给定范围内的值,并提供一个用于隐藏下拉菜单的选项。
setAllowInvalid(allowInvalidData)DataValidationBuilder设置在输入数据验证失败时是否显示警告,或是否完全拒绝输入。
setHelpText(helpText)DataValidationBuilder设置当用户将光标悬停在设置了数据验证的单元格上时显示的帮助文本。
withCriteria(criteria, args)DataValidationBuilder将数据验证规则设置为由 DataValidationCriteria 值定义的条件,这些值通常取自现有规则的 criteriaarguments

详细文档

build()

根据应用于构建器的设置构建数据验证规则。

返回

DataValidation - 数据验证规则的表示法


copy()

根据此规则的设置为数据验证规则创建构建器。

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

返回

DataValidationBuilder - 基于此规则的设置的构建器


getAllowInvalid()

如果规则在输入数据验证失败时显示警告,则返回 true;如果完全拒绝输入,则返回 false。新数据验证规则的默认值为 true

返回

Boolean - 如果规则允许输入数据验证失败的数据,则为 true;否则为 false


getCriteriaType()

获取规则的条件类型(如 DataValidationCriteria 枚举中所定义)。如需获取条件的参数,请使用 getCriteriaValues()。如需使用这些值创建或修改数据验证规则,请参阅 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.');
}

返回

DataValidationCriteria - 数据验证条件的类型


getCriteriaValues()

获取规则条件的参数数组。如需获取条件类型,请使用 getCriteriaType()。如需使用这些值创建或修改数据验证规则,请参阅 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.');
}

返回

Object[] - 与规则的条件类型相适应的参数数组;参数数量及其类型与 DataValidationBuilder 类的相应 require...() 方法匹配


getHelpText()

获取规则的帮助文本,如果未设置帮助文本,则返回 null

返回

String - 规则的帮助文本,如果未设置帮助文本,则为 null


requireCheckbox()

将数据验证规则设置为要求输入值为布尔值;此值将呈现为复选框。

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

返回

DataValidationBuilder - this 构建器,用于链式调用


requireCheckbox(checkedValue)

设置数据验证规则,要求输入值为指定值或为空。当输入值与指定值匹配时,单元格会呈现为已选中复选框。如果输入内容为空,单元格会呈现为未选中复选框。

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

参数

名称类型说明
checkedValueObject分配给已勾选复选框的值。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireCheckbox(checkedValue, uncheckedValue)

设置数据验证规则,要求输入值为指定值之一。如果输入为 checkedValue,单元格会呈现为已选中复选框。当输入为 uncheckedValue 时,单元格会呈现为未选中复选框。

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

参数

名称类型说明
checkedValueObject分配给已勾选复选框的值。
uncheckedValueObject分配给未勾选复选框的值。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireDate()

将数据验证规则设置为要求输入日期。

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

返回

DataValidationBuilder - this 构建器,用于链式调用


requireDateAfter(date)

将数据验证规则设置为要求日期晚于给定值。系统会忽略 Date 对象的时间字段;只会使用日期、月份和年份字段。

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

参数

名称类型说明
dateDate最晚接受的日期。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireDateBefore(date)

将数据验证规则设置为要求日期早于给定值。系统会忽略 Date 对象的时间字段;只会使用日期、月份和年份字段。

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

参数

名称类型说明
dateDate最早不可接受的日期。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireDateBetween(start, end)

将数据验证规则设置为要求日期介于两个指定日期之间或等于其中一个日期。系统会忽略 Date 对象的时间字段;只会使用日期、月份和年份字段。

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

参数

名称类型说明
startDate最早可接受的日期。
endDate接受的最新日期。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireDateEqualTo(date)

将数据验证规则设置为要求日期等于给定值。系统会忽略 Date 对象的时间字段;只会使用日期、月份和年份字段。

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

参数

名称类型说明
dateDate唯一可接受的日期。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireDateNotBetween(start, end)

设置数据验证规则,要求日期不介于两个指定日期之间,也不是这两个日期。系统会忽略 Date 对象的时间字段;只会使用日期、月份和年份字段。

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

参数

名称类型说明
startDate最早不可接受的日期。
endDate最晚接受的日期。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireDateOnOrAfter(date)

将数据验证规则设置为要求日期不低于指定值。系统会忽略 Date 对象的时间字段;只会使用日期、月份和年份字段。

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

参数

名称类型说明
dateDate最早可接受的日期。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireDateOnOrBefore(date)

将数据验证规则设置为要求日期不晚于给定值。系统会忽略 Date 对象的时间字段;只会使用日期、月份和年份字段。

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

参数

名称类型说明
dateDate接受的最新日期。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireFormulaSatisfied(formula)

设置数据验证规则,要求给定公式的求值结果为 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);

参数

名称类型说明
formulaString一个自定义公式,如果输入有效,则计算结果为 true

返回

DataValidationBuilder - this 构建器,用于链式调用


requireNumberBetween(start, end)

将数据验证规则设置为要求输入的数字介于两个指定数字之间,或为这两个数字之一。

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

参数

名称类型说明
startNumber可接受的最低值。
endNumber可接受的最高值。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireNumberEqualTo(number)

将数据验证规则设置为要求输入的数字等于给定值。

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

参数

名称类型说明
numberNumber唯一可接受的值。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireNumberGreaterThan(number)

将数据验证规则设置为要求输入的数字大于给定值。

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

参数

名称类型说明
numberNumber不接受的最高值。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireNumberGreaterThanOrEqualTo(number)

将数据验证规则设置为要求输入的数字大于或等于给定值。

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

参数

名称类型说明
numberNumber可接受的最低值。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireNumberLessThan(number)

将数据验证规则设置为要求输入的数字小于给定值。

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

参数

名称类型说明
numberNumber不可接受的最低值。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireNumberLessThanOrEqualTo(number)

将数据验证规则设置为要求输入的数字小于或等于给定值。

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

参数

名称类型说明
numberNumber可接受的最高值。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireNumberNotBetween(start, end)

设置数据验证规则,要求输入的数字不介于两个指定数字之间,也不等于这两个数字。

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

参数

名称类型说明
startNumber不可接受的最低值。
endNumber最高不可接受的值。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireNumberNotEqualTo(number)

将数据验证规则设置为要求数字不等于给定值。

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

参数

名称类型说明
numberNumber唯一不可接受的值。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireTextContains(text)

设置数据验证规则,要求输入包含给定值。

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

参数

名称类型说明
textString输入必须包含的值。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireTextDoesNotContain(text)

设置数据验证规则,要求输入不包含给定值。

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

参数

名称类型说明
textString输入不得包含的值。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireTextEqualTo(text)

设置数据验证规则,要求输入值等于给定值。

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

参数

名称类型说明
textString唯一可接受的值。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireTextIsEmail()

设置数据验证规则,要求输入内容采用电子邮件地址的形式。

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

返回

DataValidationBuilder - this 构建器,用于链式调用


requireTextIsUrl()

设置数据验证规则,要求输入内容采用网址格式。

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

返回

DataValidationBuilder - this 构建器,用于链式调用


requireValueInList(values)

设置数据验证规则,要求输入值等于给定值之一。

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

参数

名称类型说明
valuesString[]可接受值的数组。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireValueInList(values, showDropdown)

设置数据验证规则,要求输入值等于给定值之一,并提供一个用于隐藏下拉菜单的选项。

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

参数

名称类型说明
valuesString[]可接受值的数组。
showDropdownBoolean如果电子表格应显示值的下拉菜单,则为 true;否则为 false

返回

DataValidationBuilder - this 构建器,用于链式调用


requireValueInRange(range)

设置数据验证规则,要求输入值等于给定范围内的值。

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

参数

名称类型说明
rangeRange包含可接受值的范围。

返回

DataValidationBuilder - this 构建器,用于链式调用


requireValueInRange(range, showDropdown)

设置数据验证规则,要求输入值等于给定范围内的值,并提供一个用于隐藏下拉菜单的选项。

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

参数

名称类型说明
rangeRange包含可接受值的范围。
showDropdownBoolean如果电子表格应显示值的下拉菜单,则为 true;否则为 false

返回

DataValidationBuilder - this 构建器,用于链式调用


setAllowInvalid(allowInvalidData)

设置在输入数据验证失败时是否显示警告,或者是否完全拒绝输入。新数据验证规则的默认值为 true

参数

名称类型说明
allowInvalidDataBoolean如果规则应允许输入数据验证失败的数据,则为 true;否则为 false

返回

DataValidationBuilder - this 构建器,用于链式调用


setHelpText(helpText)

设置当用户将光标悬停在设置了数据验证的单元格上时显示的帮助文本。

参数

名称类型说明
helpTextString要设置的帮助文本。

返回

DataValidationBuilder - this 构建器,用于链式调用


withCriteria(criteria, args)

将数据验证规则设置为由 DataValidationCriteria 值定义的条件,这些值通常取自现有规则的 criteriaarguments

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

参数

名称类型说明
criteriaDataValidationCriteria数据验证条件的类型。
argsObject[]与条件类型相适应的参数数组;参数数量及其类型与上文中的相应 require...() 方法一致。

返回

DataValidationBuilder - this 构建器,用于链式调用