• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Rubyでの条件分岐について)

Rubyでの条件分岐について

このQ&Aのポイント
  • Rubyの条件分岐についての質問です。登録フォームに関連する問題が発生しており、ユーザー登録用フォームの処理に問題があります。具体的には、IDとPasswordの入力値が空の場合や文字数制限に関する条件分岐がうまく機能していないです。
  • 登録フォームの処理で以下の問題が発生しています。まず、IDとPasswordの入力値が空の場合でも、登録完了のメッセージが表示されてしまいます。そのため、空の場合に警告文を表示したいと思っています。さらに、IDとPasswordの文字数に制限を設けたいです。具体的には、4文字以上8文字以下の場合のみ処理を許可し、それ以外の場合には警告文を表示したいです。
  • 以下はregistration.cgiのコードの一部です。ユーザーIDとPasswordの入力フォームと登録ボタンが表示されています。登録ボタンが押された場合には、IDとPasswordをdata.txtに書き込む処理が行われます。しかし、空の値や文字数制限のチェックが正しく機能していないため、改善が必要です。

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

>if cgi.params["login"][0]=~/[0-9a-z]{1-8}/ then この通りに書いてるとしたら、動かないです。{1-8} じゃなくて {1,8} です。エラーにならないのが意外。 あとRubyでは、文字列 =~ 正規表現 では無く、正規表現 =~ 文字列 と書きます。 前者でも動くのですが。

DODOOffs
質問者

お礼

大変ありがとうござまいす。感謝します。勉強になりました。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

>知識がまだまだ無い状態で、いろいろな書籍などのサンプルコードをくっつけたりして、作りました。 では、まず知識を付けましょう。 「Rubyを覚えるつもりは無くてとにかく動けば良い」ではなくて「Rubyを学習したい」とお見受けしていますので、まずは入門書を通読しましょう。 定番の入門書はこれ。 http://www.amazon.co.jp/dp/4797357401

DODOOffs
質問者

お礼

大変ありがとうござまいす。感謝します。勉強になりました。

DODOOffs
質問者

補足

この本もっていますけど、基本はのってますけど、応用して、組み合わせるまでは、この本だけでは無理でした。 とくに正規表現でマッチングパターンがいくつかのってますけど、僕が作ったコードと、どう繋げるかというところが分かりません。 とくに、 if cgi.params["login"][0] then この部分ですが、 if cgi.params["login"][0]=~/[0-9a-z]{1-8}/ then このうよに8文字までに限定しても動きません。書き方がおかしいので… もし分かりましたら教えてください。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

何がわからないかわからないのですが、Ruby言語の知識はあるのでしょうか? あるいは無い?

DODOOffs
質問者

お礼

大変ありがとうござまいす。感謝します。勉強になりました。

DODOOffs
質問者

補足

返信ありがとうございます。 知識がまだまだ無い状態で、いろいろな書籍などのサンプルコードをくっつけたりして、作りました。 だから、ただしいコードを書いているのかどうか、自分でもわからなくて、条件分岐等の細かいところを試行錯誤したのですが、うまくいかなかったので、ここに投稿するに至りました。宜しくお願いします。

関連するQ&A