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 回表示されます。前もって感謝します!