Рассмотрим следующий сценарий:
У вас есть модель аккаунта
У вас есть внешняя служба, которая управляет подписками (например, CheddarGetter).
Вы не хотите создавать клиента в CG, если введенные данные не прошли ваши собственные проверки, а также вы не хотите сохранять клиента в своей собственной базе данных, если CG не принимает данные о клиенте и информацию об оплате. *
Однако вы хотите, чтобы любые ошибки валидации с обеих сторон были доступны пользователю.
Итак, как бы вы поступили по этому поводу? Проверка любой стороны проста, но заставить обе стороны работать вместе кажется трудным.