def validate(self,
                 controls: Iterable[Tuple[str, str]],
                 subcontrol: str = None) -> Any:
        """
        Validates the form.

        Args:
            controls: an iterable of ``(key, value)`` tuples
            subcontrol:

        Returns:
            a Colander ``appstruct``

        Raises:
            ValidationFailure: on failure
        """
        try:
            return super().validate(controls, subcontrol)
        except ValidationFailure as e:
            if DEBUG_FORM_VALIDATION:
                log.warning("Validation failure: {!r}; {}",
                            e, self._get_form_errors())
            self._show_hidden_widgets_for_fields_with_errors(self)
            raise
def validate ( self , controls : Iterable [ Tuple [ str , str ] ] , subcontrol : str = None ) -> Any : try : return super ( ) . validate ( controls , subcontrol ) except ValidationFailure as e : if DEBUG_FORM_VALIDATION : log . warning ( "Validation failure: {!r}; {}" , e , self . _get_form_errors ( ) ) self . _show_hidden_widgets_for_fields_with_errors ( self ) raise
Validates the form.

        Args:
            controls: an iterable of ``(key, value)`` tuples
            subcontrol:

        Returns:
            a Colander ``appstruct``

        Raises:
            ValidationFailure: on failure