'Validates the workflow steps from ``start`` to ``end``, inclusive.
Returns a dict describing the validation state of the workflow.'

def validate_steps(self, request, workflow, start, end):

    errors = {}
    for step in workflow.steps[start:(end + 1)]:
        if (not step.action.is_valid()):
            errors[step.slug] = dict(((field, [six.text_type(error) for error in errors]) for (field, errors) in step.action.errors.items()))
    return {'has_errors': bool(errors), 'workflow_slug': workflow.slug, 'errors': errors}
