如何在JDL中创建仅支持Y/N值的列并添加验证?
在JDL中为列添加Y/N取值限制的两种方法
你可以通过以下两种方式为onPermiseFlag和cloudFlag添加仅接受'Y'或'N'的验证规则:
方法一:使用正则表达式约束
JDL支持通过pattern关键字添加正则验证,直接限定字段取值只能是'Y'或'N':
entity Platform { platformName String required maxlength(100), onPermiseFlag String maxlength(1) pattern("^[YN]$"), cloudFlag String maxlength(1) pattern("^[YN]$") }
- 正则
^[YN]$表示字段值必须是单个字符,且只能是Y或N - 配合已有的
maxlength(1),双重确保输入长度和取值范围
方法二:使用枚举类型(更推荐)
如果取值固定为Y/N,定义枚举类型会让代码可读性更高,同时前端会自动生成下拉选择控件,避免用户输入错误:
// 先定义枚举 enum Flag { Y, N } // 实体中使用枚举类型 entity Platform { platformName String required maxlength(100), onPermiseFlag Flag, cloudFlag Flag }
- 数据库中会存储枚举的字符串值('Y'或'N')
- 后端会自动验证输入是否为枚举范围内的值,前端无需额外处理输入验证
内容的提问来源于stack exchange,提问作者Utkarsh Srivastava
相关产品推荐
相关产品推荐

