2009-05-28 20 views
4

これを行う方法はありますか?バリデーター - 一度に1つのエラーを表示

電子メール入力用に2つのTextBoxがあり、正規表現と比較検証ツールがあります。ユーザーが無効な電子メールと2番目のテキストボックスに別の電子メールを入力すると、2つのエラーメッセージが表示されます。しかし、私は一度に1つのエラーメッセージを表示したい。

答えて

2

この場合、最初に正規表現を実行するためのカスタムバリデーターを作成し、正規表現の検証に合格した場合にのみ比較検証を実行することができます。より単純な解決法があるかもしれませんが、これが私が考えることができる最善の方法です。

+0

私はShobanの答えに同意しますが、一度に1つずつ見せなければならないのであれば、Enderの答えが行く方法です。実際には、両方の問題を示すエラーメッセージを作成することができます。あなたの正規表現のマッチが失敗した場合は、エラーメッセージを「無効な電子メールフォーマット」に設定し、比較が失敗し、エラーメッセージが空でない場合は「電子メールの検証が必要です」を追加し、 "もちろん、ユーザーはそのようなメッセージの最初の部分を読み取って1つの問題を修正し、2番目の問題にヒットすることはありませんので、分離がより明確になります。 –

+0

regexの問題は比較バリデータです –

0

良い質問ですが、この質問の解決策を見つけることができませんでした。しかし、私はそれをお勧めしません。常にすべての必須フィールドのエラーメッセージを表示する方が良い。多くの入力フィールドを持つフォームについて考えてみましょう。スクロールして[送信]ボタンをクリックするまで、エラーはわかりません。

表示されるエラーメッセージの数を制限することで、どのように達成する予定ですか?

+0

私は自動フォーム生成を行っています。私はちょうど私が望む属性を選ぶだけです。 2つのvalitadorsが表示されている場合、2番目のメッセージは別のコントロールの背後に隠れています –

2

おそらくValidationSummary controlを使用すると、別の方法で問題を解決するのに役立つかもしれません。 OK、1つのエラーメッセージだけを生成することはありませんが、あなたのページにそれらを配置します。あなたのバリデーションコントロールのテキストプロパティを* validationsummaryコントロールを配置する場所に設定するだけです。お役に立てれば。

関連する問題