トップページphp
44コメント10KB

CGIPerl入力チェック

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/07/06 01:56ID:epfJvWRu
何作るにもだいたい必要だが地味にめんどくさい。
日本語対応の便利な汎用入力チェックモジュール
(まずPerl)を作ろうyo。
0002 02/07/06 02:02ID:???
お前、まず自分で作ってからとは思わんのか?
もっともらしいこと書きやがって、このクレクレ野郎がっ!
0003nobodyさん02/07/06 02:03ID:???
Jcode.pm
0004nobodyさん02/07/06 02:17ID:/HxIldBO
まぁ、1の言うことが分からなくもない。
文字数チェックとかだるいもんな。
0005nobodyさん02/07/06 04:49ID:???
>>2
おまえはどのスレでもそうやって、同じ煽りいれてんだな
わからなかったらほっとくのが普通なんだよ。
厨房のおまえは板的に必要ないよ。
カマッテ君が!
0006nobodyさん02/07/06 05:35ID:???
cgi-lib.pl
CGI.pm
0007nobodyさん02/07/06 07:06ID:???
>>1はCPANを知っているのか?
0008nobodyさん02/07/06 07:23ID:???
>>2
こいつは、このスレの 71 じゃないのか?(藁

http://pc.2ch.net/test/read.cgi/php/1024741312/71-
0009102/07/06 13:49ID:epfJvWRu
>3
jcode.plでよくない?

>6
use CGI ':all';#楽

>7
cpanにこんなモジュールあるかな?
Excel作りたいとか画像いじりたいとかは検索できるけど
何処みたらいいのかわからんのです。

今やってる方法でここのフォーム入力チェック
するとしたらこんな感じ

my @ParamConf=(
{name=>'name', notnull=>1, length=>128, disp=>'名前'},
{name=>'mail', notnull=>0, length=>256, code=>\&chk_mail, disp=>'E-mail'},
{name=>'msg', notnull=>1, length=>3000, disp=>'メッセージ'}
);

こんなハッシュの配列作ってループでname(input name=xxxと同じ)をチェックしてひっかかればdispを使って
「名前 が未記入です」とか日本語エラーメッセージを吐いてやる。

メアドとか正規表現でチェックしたいのはコード参照付けといて専用のサブルーチンにわたしてチェックさせる。
でも、これだとメールアドレスを確認用にもう一度入力など
複数のパラメータを見てエラー判定する場合は使えなくて
その場しのぎのif文付け足して対応してる現状です。
0010nobodyさん02/07/08 23:21ID:???
age
0011nobodyさん02/07/08 23:34ID:???
http://search.cpan.org/search?dist=CGI-ArgChecker
0012102/07/09 02:38ID:???
>>11
ありがとう StringとかCGIの下を探しまくればよかったのね
Checkerとか
だいぶ参考になりました。
とりあえずString::Checkerは利用するか
ほしいとこだけ盗みます。

他のパラメータでエラー条件が変わるとか配列のvalue(チェックボックスとか)はできないっぽい?けどそのへんもうすこし読んでみるyo
こんな方法でやってるけどどーよとかあれば教えてほしいっす。
0013nobodyさん02/11/13 15:51ID:6XVK1nob
CGI::Validate
http://search.cpan.org/dist/CGI-Validate/
0014nobodyさん02/11/13 18:33ID:???
よく「サーバにモジュールがインスコされていないので使えません」とか言う香具師
がいるけどさ、perlのモジュールなんて多くは単なるテキストなんだから、ホームに
コピーしてuse libすれよゴルァ、と思うんですがどうでっしゃろ。
0015sage02/11/13 19:31ID:6wplGlzP
~/.cpanにある設定ファイルでインストール先を自分のhome配下に指定して
CPANからいただく。そしてuse lib。
telnetやらでloginできなきゃいけないがの。
0016nobodyさん02/11/13 19:33ID:???
やっちまった。逝きます。
0017nobodyさん02/11/14 05:47ID:???
BEGIN{ push @INC, './lib'}
BEGIN{ unshift @INC, './lib'}
のが好き
0018nobodyさん02/11/24 23:41ID:nYY6oDGd
結構めんどくさい部分ではあるから
みんなで考えるのもいいかもしれない。
個人的には9のやり方をもう少し煮詰めて
モジュール化できたらいいなーとか思った。
0019nobodyさん02/11/25 15:05ID:???
まとまりなく終了
0020nobodyさん02/11/29 11:20ID:qCZWTQlc
↑勝手に終わらせるなボケ
0021102/11/30 15:26ID:3PGwc+wR
>>18
まだよくみてないけど13のCGI::Validateがそれっぽいのでは
0022nobodyさん02/12/03 02:37ID:yNGrdCEK
例えばtelnetの使えないレンタルサーバーの場合に、
pure perlならモジュールをFTPでアップして
「use lib」とかすればいいと思うけど、
結構大きなモジュールの場合(例えばDBIとか)
落としてきたtar.gzの中身はファイルやフォルダが
いっぱいあってどれをどのようにUPすれば分からないんだけど。
0023nobodyさん02/12/04 08:29ID:obM+TZZG
README.txtに書いてあるはずだが。
0024nobodyさん02/12/04 18:38ID:???
すんません PerlMagickのモジュールを
FreeBSDのサーバで使いたいんですが
ユーザー権限でのみ作業すると
具体的にはどのようにやればいいんでしょうか?
0025nobodyさん02/12/04 22:42ID:???
>>24
管理人さんに頼んでImage::Magickをインストールしてもらう。

これが一番確実。
0026nobodyさん02/12/06 06:29ID:oIFfImYM
>>13

しかし、何時見ても Perl のソースは読みづらい&使いづらいな。
0027nobodyさん02/12/06 07:33ID:???
>>26
それはperlが悪いわけではなく、プログラマの問題ではござらぬか。
0028nobodyさん02/12/07 00:30ID:???
CGI::Validateつかいづら

0029nobodyさん02/12/07 03:52ID:NfROD7dM
print "hogehoge";
  ・
  ・
  ・
print "hogehoge";

うざっ
0030nobodyさん02/12/07 13:29ID:???
CGI::Validateのサンプル眺めてると、
使わない方がよほどスッキリ書ける気がするのですが電波でしょうか?
0031nobodyさん02/12/07 17:31ID:???
こう書けるの

use CGI ':all';
my %p = map{$_ => [param($_)]}param();
my @error = param_check(
[
 {name=>'name', notnull=>1, length=>128, disp=>'名前'},
 {name=>'mail', notnull=>0, length=>256, code=>\&chk_mail, disp=>'E-mail'},
 {name=>'msg', notnull=>1, length=>3000, disp=>'メッセージ'}
],
\%p
);
error(@error) if @error;

つくろう。
0032nobodyさん02/12/08 10:43ID:???
>my %p = map{$_ => [param($_)]}param()

ReadParse使おうよ。
あ、untiedな配列に入れ直すのが味噌か。

003311=13=3302/12/21 20:48ID:lsUxGFk4
Data::CGIForm
http://search.cpan.org/dist/Data-CGIForm/

なかなかコレというものがないものですね
0034nobodyさん03/11/19 10:16ID:???
0035ウキグリバの戦士2005/04/03(日) 01:57:03ID:???
ぬるぽ
0036ウキグリバの戦士2005/04/03(日) 02:05:44ID:???
↑これでラストだ!おめでとう!
0037nobodyさん2005/05/16(月) 16:21:55ID:???
>>35
ガッ

# このスレまだあったんだな・・・。
0038nobodyさん2006/03/17(金) 01:24:09ID:???
.
0039nobodyさん2006/06/25(日) 23:32:13ID:ApY7Mi3z
ぬぽる
0040nobodyさん2006/06/26(月) 04:47:56ID:???
http://search.cpan.org/perldoc?Data::FormValidator
http://search.cpan.org/perldoc?FormValidator::Simple
0041nobodyさん2008/08/21(木) 11:31:34ID:jfZH+CbL
>>31のハッシュに、正規表現を追加したらどうだろうか?

regex => qr/[0-9a-zA-Z]{6,}/
0042nobodyさん2008/08/21(木) 13:36:07ID:???
>>41
小学校分の亀レス乙。
0043電脳プリオン2011/12/11(日) 22:26:19.67ID:????2BP(1960)
Perlの次は?
0044nobodyさん2013/03/27(水) 21:43:52.61ID:IuHY8fTv
      _
      |O\
      |   \ キリキリ
    ∧|∧   \ キリキリ
ググゥ>(;⌒ヽ    \
    ∪  |     (~)
     ∪∪   γ´⌒`ヽ
     ) )    {i:i:i:i:i:i:i:i:}
     ( (    ( ´・ω・)、
           (O ⌒ )O
            ⊂_)∪
■ このスレッドは過去ログ倉庫に格納されています