Backstage Scaffolder输入字段验证:kebab case格式正则校验实现
在Backstage Scaffolder中实现Kebab Case格式的字段校验
Backstage Scaffolder基于react-jsonschema构建表单,直接利用JSON Schema的pattern关键字就能实现正则校验,完全可以在YAML模板里配置Kebab Case格式验证,具体步骤如下:
1. 确定Kebab Case的正则表达式
Kebab Case要求字符串仅包含小写字母和连字符,不能以连字符开头/结尾,也不能有连续连字符,对应的正则表达式为:
^[a-z]+(-[a-z]+)*$
^[a-z]+:匹配开头至少一个小写字母(-[a-z]+)*:匹配零个或多个"连字符+小写字母"组合$:确保字符串结尾没有多余字符
2. 在YAML模板中配置校验
在scaffolder的template.yaml文件的parameters部分,为目标字段添加pattern规则,还可以通过errorMessage自定义错误提示,让用户更清楚格式要求。
示例代码:
parameters: - title: 基础配置 properties: componentName: title: 组件名称 type: string description: 请输入符合kebab-case格式的组件名称 pattern: '^[a-z]+(-[a-z]+)*$' # 可选:自定义校验失败提示 errorMessage: pattern: "组件名称格式错误,需符合kebab-case:仅小写字母,用单个连字符分隔,不能以连字符开头/结尾,无连续连字符" required: - componentName
3. 校验效果说明
当用户输入不符合格式的内容时(比如MyComponent、component_name、component--test、-component),表单会直接触发校验错误,阻止流程继续;输入符合要求的内容(比如user-profile、order-processing-service)则可以正常通过。
内容的提问来源于stack exchange,提问作者Paulo Eduardo
相关产品推荐
相关产品推荐

