有条件地验证类的字段

时间:2017-10-03 20:52:00

标签: python

我有一个类似字段的课程

  • 请求代码枚举
  • 姓名
  • 地址
  • 电话

我想要做的是创建一个验证器,根据请求代码验证字段。

例如

请求代码== N. 验证名称不为空 其他字段可以为null

请求代码== NAP 验证名称,地址和字段

无论如何,我可以定义一个字段列表来验证每个枚举,所以我的验证器只检查那些字段?我如何在python中实现这一目标?

1 个答案:

答案 0 :(得分:1)

它在很大程度上取决于您的验证器实现,但总的来说 - 是的,您可以存储要验证的字段列表。有很多方法可以实现这一目标,例如:

fields = {
'N': ['name'],
'NAP': ['name', 'address', 'phone']
}

然后在验证器中获取相应的字段:

for field in fields['NAP']:
    value = getattr(your_object, field) 
    # validation logic ...

但请注意,有许多更灵活的方法来验证对象