我看到很多应用程序使用 Form 对象来验证数据,然后将数据传递给模型,而在模型中完全没有验证。我觉得最好将核心验证放在模型本身(例如,永远没有 18 岁以下的用户)以在任何情况下运行。换句话说,我不关心用户是如何创建的(无论是通过 web ui 还是命令行),核心规则应该始终适用。
我正在使用 SQLAlchemy(在 Pyramid 应用程序中),我想在模型中定义我的核心验证规则,使我的表单(WTForms)始终尊重模型中定义的核心规则,以便所有数据都是一致的。
其他人是否已经在这样做,或类似的事情?
类似于这个 php解决方案的东西。