コード例 #1
0
    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")
コード例 #2
0
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
    )