这个 @flatfile/plugin-validate-string 用于字符串配置和验证的插件。 这个插件将多个字符串验证组合在一个单一的配置中,包括regex模式匹配,长度验证,大小写灵敏度,裁剪选项,以及自定义转换等.
事件类型 :
listener.on('commit:created')
特征
- 正则表达式模式匹配
- 长度验证( 最小、 最大、 准确)
- 案件类型强制执行(小写、大写、标题)
- 白空间修剪( 领跑, 跟踪)
- 自定义转换函数
- 可配置错误消息
- 电子邮件、电话和 URL 验证常见的正则图案
- 空字符串处理
安装
要安装插件, 请使用 npm :
npm install @flatfile/plugin-validate-string
示例使用
import { FlatfileListener } from '@flatfile/listener';
import { validateString } from '@flatfile/plugin-validate-string';
const listener = new FlatfileListener();
const stringConfig = {
fields: ['name'],
minLength: 2,
maxLength: 50,
caseType: 'titlecase',
errorMessages: {
length: 'Name must be between 2 and 50 characters',
case: 'Name must be in Title Case',
},
};
listener.use(validateString(stringConfig));
模式用法 :
const config = {
fields: ['email'],
pattern: 'email' // Uses predefined email pattern
};
// Or with a custom pattern:
const customConfig = {
fields: ['customField'],
pattern: /^[A-Z]{3}-\d{2}$/ // Custom pattern for format like 'ABC-12'
};
配置
这个 validateString 接受一个 StringValidationConfig 具有下列属性的对象:
fields: 字符串[] - 要验证的字段sheetSlug: 字符串 - 要验证的工作表 sattle (默认为“ **” 所有工作表)pattern: RegExp - 匹配的正则表达式模式pattern: keyof type of common RegexPatterns QQ RegExp - 一个正则表达式模式相匹配. 您可以使用一个预定义的模式( “ 电子邮件 ” 、 “ 电话 ” 、 “ URL ” ) 或提供自定义 RegExp 。 预定义的模式有:email: 验证电子邮件地址phone: 验证电话号码( 10-14个数字, 可选“ +” 前缀)url: 验证 URL( 有无协议)
minLength: 数字 - 字符串最小长度maxLength: 数字 - 字符串的最大长度exactLength: 数字 - 精确要求字符串长度caseType: “ 小写” QQ“ 上写” QQ“ 标题” - 执行特定大小写类型trim:{领导? :布尔, 跟踪? :布尔} - Trims whitespaceemptyStringAllowed: 布尔 - 是否允许空字符串errorMessages: 具有自定义错误消息的用于不同校验对象
行为
插件在 Flatfile 导入中处理每个记录, 将配置的验证应用到指定的字段 。 如果验证失败,该字段的记录会增加一个错误。 如果指定了自定义的转换并全部验证通过,则为字段设定了转换值.
该插件使用 recordHook 处理单个记录,允许在导入过程中对字符串字段进行有效而灵活的验证和转换.