我想在编辑表单保存过程中检查字段的值验证一些约束
(了解调用我可以使表单操作无效的方法)
答案 0 :(得分:6)
必须通过架构(而不是超级模型)定义字段,否则该字段在架构中不可见。在模式中定义字段后,您可以使用如下所示的修饰函数来设置字段验证器:
@form.validator(field=IMySchema['title'])
def validateTitle(value):
if value == value.upper():
raise schema.ValidationError(u"Please don't shout")
答案 1 :(得分:2)
我很确定您可以使用zope.interface invariants以文件系统代码灵巧类型执行此操作。
答案 2 :(得分:1)
在专用于validators的章节中查看Dexterity开发人员手册。