我正在使用CherryPy、Mako模板和SQLAlchemy开发Web应用程序。我以前使用Ruby on Rails,现在想为我的模型设置一些数据验证。例如,当其他字段有值时,我无法确定如何最好地确保“名称”字段具有值。我尝试使用SAValidation,但它允许我创建新行,即使我在列上使用了
validates_presence_of
,该列是必需的但是空白的。我一直在看WTForms,但那似乎涉及大量重复的代码——我已经设置了我的模型类,其中包含表中的列,为什么我需要重复所有这些列,只是为了说“嘿,这个需要一个值”?我来自“瘦控制器,胖模型”的思维方式,并一直在寻找像validates_presence_of
或validates_length_of
这样的Rails-like方法。我应该如何验证我的模型接收到的数据,并确保Session.add
/Session.merge
在验证失败时失败?
@validates('validates_presence_of', 'validates_length_of')
(b) 确保您的验证触发在字段列表中最后一个声明的字段上,以便其他字段已经设置好了if key == 'validates_length_of': [code to validate]
- naoko