Как проверить ограничения на поля типов ловкости контента - PullRequest
5 голосов
/ 17 августа 2011

Я хочу проверить во время редактирования формы сохранения значения поля проверить некоторые ограничения

(понимаю, вызов метода, где я могу аннулировать действие формы)

Ответы [ 3 ]

6 голосов
/ 17 августа 2011

Поле должно быть определено через схему (не супермодель), иначе поле не будет видно в схеме. Как только поле определено в схеме, вы можете использовать декорированную функцию, подобную следующей, чтобы установить валидатор поля:

@form.validator(field=IMySchema['title'])
def validateTitle(value):
    if value == value.upper():
        raise schema.ValidationError(u"Please don't shout")
2 голосов
/ 17 августа 2011

Я почти уверен, что вы можете сделать это с ловкостью кода файловой системы, используя инварианты zope.interface .

1 голос
/ 17 августа 2011

Ознакомьтесь с Руководством разработчика Dexterity, в главе, посвященной валидаторам .

...