ArcheTypes:validatorのメモ
コンテンツのクラスに validate_foo(newvalue) というメソッド(fooはフィールド名)を作っておくと、勝手に呼び出してくれます。やってくれるお利口さんは、Products.ArcheTypes.BaseObject.BaseObject.validate_fieldメソッドさんです。
def validate_field(self, name, value, errors): """Field's validate hook. Write a method: validate_foo(new_value) -> "error" or None If there is a validate method defined for a given field invoke it by name name -- the name to register errors under value -- the proposed new value errors -- dict to record errors in """ methodName = "validate_%s" % name result = None if shasattr(self, methodName): method = getattr(self, methodName) result = method(value) if result is not None: errors[name] = result return result