def METHOD_NAME(business: Business, filing: Dict) -> Error:  # pylint: disable=too-many-branches
    """Validate the Alteration filing."""
    if not business or not filing:
        return Error(HTTPStatus.BAD_REQUEST, [{'error': babel('A valid business and filing are required.')}])
    msg = []
    msg.extend(company_name_validation(filing))
    msg.extend(share_structure_validation(filing))
    msg.extend(court_order_validation(filing))
    msg.extend(type_change_validation(filing))
    msg.extend(rules_change_validation(filing))
    msg.extend(memorandum_change_validation(filing))
    if err := validate_resolution_date_in_share_structure(filing, 'alteration'):
        msg.append(err)
    if msg:
        return Error(HTTPStatus.BAD_REQUEST, msg)
    return None