У вас здесь происходит пара вещей.
Если я запускаю этот код с пустым текстовым полем, форма отправляет, который не должен этого делать.Если я удаляю поле> Id в кнопке отправки, проверка работает.В чем моя проблема здесь?
Это потому, что ваш javascript, по сути, вступает во владение и фактически не выполняет никакой проверки.Он предотвращает поведение кнопки по умолчанию, записывает сообщение в консоль и затем отправляет форму.
Когда вы удаляете значение идентификатора из кнопки, этот javascript не работает, потому что идентификатор элемента, который вы сказали ему искать, не существует.Причина, по которой он проверяет, заключается в том, что теперь ваш Javascript не вступает во владение, а нативная для браузера проверка обнаруживает атрибут 'required', который вы поместили в свои входные данные.
У вас есть два пути вперед, либо используйтепроверка собственного браузера https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Form_validation
Или создайте свой собственный с помощью JavaScript.(Существует множество способов сделать это, использовать Google и поработать с несколькими примерами, которые вы найдете).