- 締切済み
入力チェックとエラーメッセージの表示
Javaについて勉強している者です。 現在、エントリー(登録)画面で入力した文字の検証処理をサーバーサイドで行い、 エラーがある場合は再度ページを表示し、その際には一緒に エラーメッセージを添える処理を作成したいと考えております。 入力チェックを行うクラスを作ってみたものの、 エラーメッセージをどのように組み込めば良いかという点に悩んでおります。 まとめてみると、期待する処理の流れは次の通りです。 1、エントリー画面に入力された文字の検証処理を行う 2、エラーがある場合にはJSPを再度表示(entry.jsp) 3、再度表示した際にエラーメッセージを添える。 下記はコードの一部です。 //INSERTChecker.java //未入力チェック public boolean requiredCheck(String input){ if(input.equals("")){ return false; } return true; } //数値チェック// public boolean numberCheck(String input){ for(int i = 0; i < input.length(); i++){ if(!Character.isDigit(input.charAt(i))){ return false; } } return true; } } //Validator.java public class Validator extends HttpServlet{ public boolean validate(HttpServletRequest req) throws ServletException,IOException{ request.setCharacterEncoding("Windows-31J"); String id = req.getParameter("id"); String pass = req.getParameter("pass"); String name = req.getParameter("name"); String tel = req.getParameter("tel"); InputChecker check = new InputChecker(); //未入力事項がないかチェック check.requiredCheck(id); check.requiredCheck(pass); check.requiredCheck(name); check.requiredCheck(tel); //数字のみが入力されているかをチェック check.numberCheck(tel); return true; //Servlet else if(select != null && select.equals("エントリー")){ String id = req.getParameter("id"); String pass = req.getParameter("pass"); String name = req.getParameter("name"); String tel = req.getParameter("tel"); Bean bean=new Bean(); bean.setId(id); bean.setPass(pass); bean.setName(name); bean.setTel(tel); Entry cEntry=new Entry();//登録クラス cEntry.entry(bean); Validator vEntry=new Validator(); vEntry.validate(req); req.setAttribute("INSERT",cEntry); target = "/top.html";//登録後、topページに戻る } request辺りがキーワードになるのかな、と考え、色々調べたのですが 解決策は見つかりませんでした。 記述方法やアドバイス等御座いましたら、ご教授お願いいたします。 長文失礼いたしました。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- askaaska
- ベストアンサー率35% (1455/4149)
エラーメッセージをリクエストに格納して JSPでそれを取得すればいいわ