我需要解析很多yml文件。
我有一个类似的例子,在某些情况下存在一个值,因此我需要更改另一个规则的regex。
我找不到正确的方法来验证它
yaml1级:
email: someone@company.com
yaml2:
email: otherguy@home.com
contract_type: external
架构:
schema = {
'email': {
'required': True,
'type': 'string',
'regex': '^([a-zA-Z0-9_\-\.]+)@company\.com$'
}
Tags:
快速回答(TL;DR)
cerberus
包支持“开箱即用”的复合验证。你知道吗详细答案
上下文
问题
解决方案
validation-success
、validation-fail
或validation-skipped
示例
- 下面的示例假设有多个YAML文档
- 这里显示了一些示例文档
示例文档 样本验证规则person_age
小于18的记录,那么:prize_category
字段存在prize_category
字段的类型为stringprize_category
的值是pets
或toys
或candy
prize_email
字段存在,类型为stringprize_email
字段匹配特定的正则表达式结果示例
helen himpson
的结果是validation-fail
。check-underage-minor
验证规则触发,因为person_age == 16
prize_cateogry
具有值firearms
,这是不允许的,因此验证失败基本原理
陷阱
rule_vpath
,它告诉系统在person_age
存在且小于18时触发此特定规则。这增加了对jmespath的依赖性。你知道吗另见
相关问题 更多 >
编程相关推荐