• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:全角スペースのチェックについて)

全角スペースのチェックについて

このQ&Aのポイント
  • 全角スペースのチェックについての質問です。半角スペースではエラーとして判断してくれるが、全角スペースではエラーとして判断してくれないため、全角スペースの判断をする場合は自分で処理を作成する必要があるのでしょうか。
  • 質問者は、ある入力項目に対して必須チェックを行っており、半角スペースではエラーとして判断してくれるが、全角スペースでは判断してくれないことに問題を抱えています。新たにクラスを作成して全角スペースを含む文字列の判断を行う処理を作成する必要があるのか、知識を求めています。
  • 全角スペースのチェックに関する質問です。質問者はある入力項目に対して必須チェックを行っており、半角スペースではエラーとして判断してくれるが、全角スペースでは判断してくれないため、新たにクラスを作成して処理を行う必要があるのかどうかについて知りたいと思っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.1

>自分で作成しないとチェックは出来ないのでしょうか? 作っちゃえばいいんじゃないですか? また使う機会はあるでしょうし、無駄にはならないでしょ。 考えてるよりその方が早いと思います。 もしくは、チェックだけなら、 bean.name().trim().replaceAll(" ", "").length() == 0 としてしまう手もありますけど。 ところで、 if(bean.name().trim().length() == 0 || bean.name() == null){ の部分ですが、条件の評価は後ろからですっけ? 前から評価するのだとしたら、 bean.name() == null は無意味ですね。 評価する前に、例外が発生してしまいます。

poteo
質問者

お礼

今回は多少時間もなく、作る時間が制限されておりましたので、下記の処理で対応させて頂きます。 bean.name().trim().replaceAll(" ", "").length() == 0 時間があるときにでも、作成してみます。 > 評価する前に、例外が発生してしまいます。 ご指摘ありがとうございます。 こちらも後ほど見直してみます。

その他の回答 (2)

回答No.3

No.1さんのおっしゃるとおり、nullから先に評価しないとダメですね。 で、補足ですが、サーブレットで入力チェックするんじゃなくて、 クライアント側でチェックするのも手では? Javascriptなどでチェックして、OKならサーブレットに対して要求を投げる。 ってな感じで。いかがでしょう? そうすればサーブレット側では「全角スペース」がトリムされたものしか来ないという前提になりますので。

回答No.2

もしかしたらどこかに、その様なことをやってくれる便利なAPIがあるかもしれません。 けっこう頻繁に使いますからね。 自分は知りませんので、その様なAPIがあるサイトのURLなどは、知っている方にお任せします。 前に自分が作ったものは 前から1文字ずつ調べて、初めて半角スペース、全角スペース以外の文字が現れたindexを返すメソッド 後ろから1文字ずつ調べて、初めて半角スペース、全角スペース以外の文字が現れたindexを返すメソッド を作って、そのメソッドからの戻り値を使用してsubstring()してました。 これなら、真ん中の部分は調べなくていいので、若干ですが、楽かと思います。

関連するQ&A