У меня есть текст ввода, скажем, он используется для ввода цены. У меня есть код проверки на doinsertproducts.jsp
после того как пользователь нажмите кнопку отправки на insertproducts.jsp
Ошибка проверки текста ввода - JSP
проверки достоверности для ввода цены:
- вводимого текст должен быть заполнен.
- текст ввода должен быть числовым.
- цена должна быть больше нуля.
Вот первый код:
if(price.equals("")||price==null){
response.sendRedirect("../insertproducts.jsp?insertproduct="+producttype+"&err=Price must be filled.");
return;
}
else{
try{
intprice=Integer.parseInt(price);
}
catch (Exception e) {
response.sendRedirect("../insertproducts.jsp?insertproduct="+producttype+"&err=Price must be numeric.");
}
}
И я не имею представления о том, где же я должен поставить этот второй код, чтобы проверить, если на входе меньше, чем 1:
if(intprice<1){
response.sendRedirect("../insertproducts.jsp?insertproduct="+producttype+"&err=Price must be greater than 0 (zero).");
}
В любом случае, когда я выполняю 1-й код и пытаюсь ввести символ во входной текст (без включения второго кода), возникает ошибка основной причины:
Cannot call sendRedirect() after the response has been committed
Похоже, что код не был обработан ошибкой. Есть ли какое-то решение, чтобы код мог обнаружить 3 ошибки пользователя?
Side Примечание: 'если (price.equals ("") || цены == NULL)' - 'цена == null' недостижим. Из-за 'price == null' вы получите NPE. Do 'if (" ". Equals (price)). – Maroun
@MarounMaroun все еще получил ошибку, похоже, что проблема заключается в том, что код не может обрабатывать ввод символов в текстовом поле. – noobprogrammer
. Вы должны обработать свою проверку с помощью javascript/jquery на insertproducts.jsp, а затем на doinsertproducts.jsp, просто проверьте значение null и получите параметр. –