0

3つの異なるバリデーターを備えたaspのテキストボックスコントロールがあります。各バリデーターはサーバーからエラーメッセージを取得しており、それぞれが異なるものを検証します。私の問題は、いくつかの値について、2つ以上のバリデーターが起動し、複数のエラーメッセージが表示されることです。ある種の優先機能を作成したいと思います。つまり、最初のバリデーターが起動している場合、他の2つは起動しません。バリデーターをそのように動作させる方法はありますか?

コードサンプルを追加しました:

<asp:RequiredFieldValidator ID="cvRequired" runat="server" Display="Dynamic"
    ControlToValidate="txtBox" />
<asp:RegularExpressionValidator ID="cvFormat" runat="server" Display="Dynamic"
    ControlToValidate="txtBox" ValidationExpression="^([A-Za-z])+$" />
<asp:CustomValidator ID="cvCustom" runat="server" Display="Dynamic"
    ControlToValidate="txtBox" ClientValidationFunction="validateFunction" />

必要なバリデーターが無効な場合にフォーマットバリデーターとカスタムバリデーターが起動しないようにしたい(実際には、エラーメッセージを表示しないようにしたいだけです)。

私が言ったように、エラーメッセージはサーバーからのものであるため、1つのカスタムバリデーターに実際に参加させることはできません。また、「validateFunction」は別のjsファイルにあります(再利用用)。

4

3 に答える 3

0

あなたが考えなければならないいくつかの論理オプション、

(txtPhone) having three validators.
1.RangeValidator, 2.CustomValidator 3.Regexvalidator

検証後に言って(検証が失敗/合格した場合に返されるものを確認してください)、それに基づいて行動します。

 if(rangevalidator1 != null)
{
 ...somecode...
} 

JavaScriptを使用することをお勧めします..

于 2012-12-27T10:32:51.327 に答える