6

特定のテキストのテキストボックスを検証したいのですが、空白にすることはできません。ただし、テキスト ボックスがBLANKの場合、正規表現バリデータは検証されません。ただし、テキスト ボックスに何かを入力すると検証されます。

テキストボックスが空の場合でも正規表現をトリガーするにはどうすればよいですか?

Required Validator + Regex Validator を同時に使用する必要がありますか? ありがとう。

<asp:TextBox ID="txtcard" runat="server" MaxLength="16"></asp:TextBox>

<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" 
ControlToValidate="txtcard" ErrorMessage="Please type credit card no" 
ValidationExpression="^\d{16}$"></asp:RegularExpressionValidator>
4

3 に答える 3

6

RegularExpressionValidatorと を組み合わせる必要がありますRequiredFieldValidator

いずれかが失敗した場合、検証の起動によりブロックされます。それぞれが目的を果たし、RegularExpressionValidatorの目的は、テキストの欠落ではなく、入力されたテキストを検証することです。

すべてを 1 つのバリデータで実行したい場合は、CustomValidatorand setを使用できますValidateEmptyText='true'。次に、javascript 正規表現を使用してチェックを行うことができます。ただし、これは標準的なアプローチであるため、2 つのバリデーターをお勧めします。

于 2010-06-30T21:32:29.253 に答える
3

両方を同時に使用する必要があります。値が空白の場合に検証エラーを返さないことは、ASP.NET 検証コントロールでは一般的です。System.ComponentModel.DataAnnotations 名前空間の Validation 属性から同じ動作が見られます。

于 2010-06-30T21:30:41.820 に答える
3

私は一般的にあなたが提案するように行い、必要なバリデーターも持っています。これにより、ルールごとに異なるメッセージを持つことができます。

Web 開発者に検討することをお勧めするもう 1 つのオプションは、JQuery 検証プラグインです。これを Fluent Validation と組み合わせると、ビジネス オブジェクトのすべての検証ルールを 1 か所に保持でき、同じルールを使用してクライアント側とサーバーで検証できます。

JQuery 検証

流暢な検証

于 2010-06-30T21:31:22.737 に答える