Проблема с вашим подходом заключается в том, что после того, как ваш java -скрипт проверяет код, ваша кнопка html 'submit' отправляет форму, поскольку они выполняются одна за другой. Вы ничего не сделали, чтобы предотвратить отправку формы после неудачной проверки. Чтобы решить эту проблему, вы можете отправить форму с помощью кода JavaScript вручную только после успешной проверки. Таким образом, ваш код будет выглядеть примерно так -
1.) Изменения в коде Html, вместо того, чтобы создавать тип кнопки как «отправить», сделайте его обычной кнопкой и запустите функцию проверки javascript при его щелчке -
<form th:action="@{/user/trigger}" th:object="${triggers}" id="myForm" method="post">
<input type="hidden" name="tradeDate" th:value="${trigger.id.tradeDate}">
<button type="button" id="ignore" name="action" onclick="myValidationFunction()" value="ignoreOrder" class="btn btn-primary btn-sm">Ignore</button>
</form>
2.) Изменения в коде Javascript, теперь после нажатия на вышеуказанную кнопку ваша функция проверки javascript будет выполняться, и после успешной проверки отправьте форму вручную, используя идентификатор формы, примерно так -
function myValidationFunction(){
if( some_condition ){
//validation failed
return;
}
//validation success , when above mentioned if condition is false.
$("#myForm").submit(); // Submit the form
}
Для получения дополнительных сведений об использовании submit
в jquery обратитесь к официальной документации -
https://api.jquery.com/submit/