class DateRangeField(Form): first_day = Field.date() last_day = Field.date() class Meta: @staticmethod def post_validation(form, **_): print("post validation", form.is_valid()) if form.is_valid(): if form.fields.first_day.value > form.fields.last_day.value: form.add_error("First day must be <= last day")
class KitchenForm(Form): kitchen_foo = Field() fisk = Field.multi_choice( choices=[1, 2, 3, 4], parse=choice_parse, initial=[1, 2], editable=False ) textarea = Field.textarea(initial='initial value') radio = Field.radio(choices=['foo!!_"', 'bar', 'baz']) checkbox = Field.boolean() date = Field.date() choice = Field.choice(choices=['a1', 'a2', 'a3', 'b1', 'b2', 'b3', 'X']) choice_with_groups = Field.choice( choices=['a1', 'a2', 'a3', 'b1', 'b2', 'b3', 'X'], choice_to_optgroup=lambda choice, **_: choice[0] if choice[0].islower() else None )