@view_config(renderer="templates/form.pt", name="require_one_or_another")
    @demonstrate("Require One Field or Another")
    def require_one_or_another(self):
        class Schema(colander.Schema):
            one = colander.SchemaNode(
                colander.String(),
                missing=unicode(""),
                title="One (required if Two is not supplied)",
            )
            two = colander.SchemaNode(
                colander.String(),
                missing=unicode(""),
                title="Two (required if One is not supplied)",
            )
        def validator(form, value):
            if not value["one"] and not value["two"]:
                exc = colander.Invalid(
                    form, 'A value for either "one" or "two" is required'
                )
                exc["one"] = "Required if two is not supplied"
                exc["two"] = "Required if one is not supplied"
                raise exc
        schema = Schema(validator=validator)
        form = deform.Form(schema, buttons=("submit",))
        return self.render_form(form)