nie można formularzem przesłać kodu uprzednio nie dodanego do bazy danych
a dużo masz tych kodów? Jeśli tak, to nie polecałbym wyrażeń regularnych bo nie jest to najwydajniejsza opcja i może być trudna w utrzymaniu. A może rozważyć np. pobranie do aplikacji wszystkich kodów na początku, zapisanie ich w zmiennej (JS - array) i podczas wprowadzenia kodu sprawdzenie, czy wprowadzony kod istnieje w tej zmiennej (np. tablicy). Jeśli nie istnieje to wywala błąd aby sprawdzić czy kod został dobrze wprowadzony i blokuje możliwość wysłania itp. lub np. informacja o braku kodu w bazie i pytaniu czy ma on zostać wprowadzony jako nowy (to już zależy od logiki aplikacji i tego co w zasadzie ma być tu robione).
Takie rozwiązanie pozwoliłoby uniknąć częstych zapytań do bazy, co może mieć znaczenie np. jeśli chcesz szybko wprowadzać różne dane. Nie ryzykujemy np. opóźnienia odpowiedzi itp. Jednocześnie minimalizujemy ilość zapytań typu insert do kodów, które faktycznie istnieją - oczywiście drugą walidację trzeba by przeprowadzić na serwerze ale tam jest to szybsze bo nie ma etapu komunikacji klient-serwer-baza.
W dość łatwy sposób można by też machnąć np. podpowiedzi dla zbliżonych kodów itp.
Pytanie też np. ile osób jednocześnie może pracować na apce, a dokładniej ile osób może jednocześnie wprowadzać nowe kody, które powinny być wtedy przesłane do klientów. Można by tu np. pomyśleć o WebSocket czy Server Event itp. Wszystko zależy od wielu czynników jak ilość klientów, ilość danych w bazie, częstotliwość ich wprowadzania i testowania itp. bo jeśli np. wprowadzasz dane w większych odstępach czasu to można pozostać przy Ajax... musiałbyś podać więcej szczegółów.