AppEngine NDB属性验证
我想知道,验证NDB实体属性的最佳方法是什么,比如:
- 一个日期必须在未来
- 一个等级(整数属性)必须在1到10之间
- 对另一个实体的引用必须有特定的属性值(例如,书籍的类别必须是激活状态)
我也在使用WTForms来验证提交的请求,但我想在更底层,比如数据存储实体本身,也进行验证。
所以,基本上我想要的是对数据存储实体进行验证,看看它是否有效。如果有效,我就可以把这个实体存入数据存储;但如果无效,我想要找出哪些属性不合法,以及哪些验证器没有成功验证。
另一个原因是,WTForms可能不够用,因为我正在使用新的Cloud Endpoints。在这个模型中,我接收到的是实际的实体,而不是一个HTTP请求。
其他AppEngine用户是怎么解决这个问题的呢?
1 个回答
0
这并不是说这是最好的解决办法,但你可以自己动手做。你可以提前定义一些属性,比如用正则表达式来设定最小值和最大值等等。看起来你的属性比较简单,所以应该不会太难。