0

Webフォームでさまざまなasp.net検証コントロールを使用しています。これらのいくつかは、Text プロパティが「* エラー」や「これらのフィールドを見逃しました」などに設定されています。

ただし、いくつかの CustomValidator コントロールには空の Text プロパティがあります。どのケースが失敗するかに応じて ErrorMessage を動的に追加しているため、意図的に空白のままにしました。(CustomValidator には、args.IsValid = false を設定するさまざまな条件がある場合があります)

エラーが発生すると、設定した ErrorMessage プロパティが ValidationSummary と Validator コントロール内の両方に表示されます。私はそれをしたくありません。BaseValidator.Text プロパティではなく、ValidationSummary で ErrorMessage を表示できるようにしたいと考えています。

私の最初の試みは、Text プロパティをスペース " " に設定することでした。それはうまくいきませんでした。

私が(今のところ)実装したのは、背景と同じ色で表示されるピリオドです。それはハックです - そして私はそれが好きではありません. ひょっとして、それが私がここにいる理由かもしれません!

コードは次のとおりです。

<asp:CustomValidator ID="StackOverflowValidator" runat="server" 
    Text="." 
    CssClass="validatorstyle"
    Display="Dynamic" 
    OnServerValidate="validate_AllowedToDoSomething" 
    ValidationGroup="MainGroup" />

<asp:ValidationSummary ID="mainGroupValidationSummary" runat="server" 
    ValidationGroup="MainGroup" 
    DisplayMode="BulletList" 
    HeaderText="There was an error in saving.  Please check the following:" />

validate_AllowedToDoSomething 内で私が呼び出します:

StackOverflowValidator.ErrorMessage = "Custom Error Message #1";
args.IsValid = false;
return;

Web フォームに「カスタム エラー メッセージ #1」が2 回表示されます。前もって感謝します!

4

1 に答える 1

9

BaseValidator のdisplay="none"代わりに設定するだけで解決します。"dynamic"

于 2009-01-08T20:09:53.257 に答える