質問

特定のテキストについてテキストボックスを検証したいのですが、空白であってはなりません。しかし、テキストボックスが 空欄. 。ただし、テキストボックスに何かを入力するかどうかを検証します。

テキストボックスが空であっても、トリガーに正規表現を行うにはどうすればよいですか?

必要なバリデーター + regexバリデーターを同時に使用する必要がありますか?ありがとう。

<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>
役に立ちましたか?

解決

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

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

jQueryの検証

流fluent検証

他のヒント

あなたはあなたを組み合わせるべきです RegularExpressionValidator とともに RequiredFieldValidator.

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

あなたがそれをすべて1つのバリデーターでやりたいなら、あなたは CustomValidator とセット ValidateEmptyText='true'. 。その後、JavaScript Regexを使用してチェックを行うことができます。これは標準的なアプローチであるため、2つのバリデーターをお勧めします。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top