def validate_field_name(name: str) -> None:
    """
    Validate a field name. Raises ValueError if validation fails.

    Args:
        name: Field name to validate
    Raises:
        ValueError: If validation fails

    Note: this function will also be called in unstructured_vespa_index/unstructured_validation.py/validate_field_name
    """
    if not _is_valid_vespa_name(name):
        raise ValueError(f'"{name}": Field name must match {_VESPA_NAME_PATTERN} '
                         f'and must not start with "{constants.MARQO_RESERVED_PREFIX}"')
    if name.startswith(constants.MARQO_RESERVED_PREFIX):
        raise ValueError(f'{name}: Field name must not start with "{constants.MARQO_RESERVED_PREFIX}"')
    if name in _PROTECTED_FIELD_NAMES:
        raise ValueError(f'{name}: Field name must not be one of {", ".join(_PROTECTED_FIELD_NAMES)}')

    Validate a field name. Raises ValueError if validation fails.

    Args:
        name: Field name to validate
    Raises:
        ValueError: If validation fails

    Note: this function will also be called in unstructured_vespa_index/unstructured_validation.py/validate_field_name
    
src/marqo/core/models/marqo_index.py