2011-02-07 6 views
0

私は、入力フォーム(例えばWebページ)にいくつかのタイプのデータフィールドを持っています。Genericは正規表現を介して入力データを検証します。 match.count == 0のときの入力エラー

いくつかのフィールドは、電子メールアドレスでなければならず、数字でなければならず、間にある数字でなければならず、特定の文字が必要です。基本的に、このリストは定義できません。

入力されたデータを検証する一般的な方法を考え出したいと思います。私は正規表現を使ってデータを検証すると思った。検証が必要なフィールドは、 "正規表現"とフィールドに含めるべきことを示す "正規表現エラーメッセージ"に関連しています。

現在のモックアップでは、一致カウントが0の場合、エラーを示し、メッセージを表示します。ホワイトベルトの正規表現のデザイナーではあるが、特定の状況では正規表現を書くのが難しく、すべてのケースで一致カウントが0になることがわかった。

私が助けを求めた複雑な正規表現の場合はLink Hereでした。私が人々を助けてくれるのを混乱させたので、フォーラムポストは災害でした。しかし、声明の1つは、マッチカウントが0の正規表現を作成することは難しく、入力データが無効であることを意味しています。正規表現はそれを書くのが非常に難しいと言いました。

私は作成しようとしているこの一般的な検証システムにコメントや提案がありますか?あなたが複数の正規表現のを持っている必要がありますし、それぞれが上で使用され、各入力ボックスに合格しなければならない。この場合

おかげ

答えて

1

My current mock up has that when the match count is zero, that would signify an error and to display the message.

擬似コード:

Array of regex's: 
[0] = /something[class] something else/ 
[1] = /more stiff that must be in each one/ 

result = 1; 
loop through array 
    if ((result = result && match_globally(regex[i])) == 0) 
     break; 
end loop 

if (result == 0) 
    notify of an input error at regex[i] validation 
+0

あなたは、単一のフィールドのために、私は複数の正規表現式を持つべきであると言っています。そしてそれらがすべてその分野に合格しなければ、エラーメッセージを表示しますか? –

+1

さて、本質的には、1つの正規表現にammas無効をしようとしています。それ無理。もしそれが無効であれば有効なフォームの一般的な正規表現を作成します。したがって、それらはすべてフォームデータに関連して共通性を持たなければなりません。これは私の意見です。 – sln

+0

は複雑な例のためにすばらしい働きをしています。 –

関連する問題