seems to have a lot of overlap with `_validate_captions_data_update`.  Refactor?