К сожалению правильно реализовать это можно, только имея доступ к исправлению фронтэнда
Исключение дублированных данных можно реализовать добавлением поля - идентификатор запроса на фронтэнде, добавляемый в момент отправки данных, значение его же генерируется в момент открытия формы на клиенте (кстати тут нужно хорошо думать, когда именно должен появляться новый идентификатор запроса).
Если же фронтэнд трогать нельзя, значит бакэнд должен как то идентифицировать дубляж данных. Самое простое (если это позволяет бизнеслогика) - хранить в сессии хеш (точнее список таковых за последние несколько секунд) последнего запроса на изменение данных с фронтэнда и игнорировать те, у которых он повторяется. Почему нужно хранить список, потому при использовании ajax и проблемах с интернет, запрос может заметно подзадержаться, пользователь может перейти на другую страницу (SPA или использование web worker) отправить там запрос и перейти снова к первоначальной, и отправить повторно.