2

ASP.NET MVC では、次のようなことができます (パラメーターは DisplayName として設定されます)。

[Required(ErrorMessage="Please insert a valid {0}") ]
[DisplayName("User name")]
public string UserName { get; set; }

したがって、エラー メッセージ「有効な {0}を挿入してください」は「有効なユーザー名を挿入してください」に変換されます。以下のコードの ASP.NET Web フォームの ErrorMessage でそのようなことを行うことはできますか??

<asp:TextBox ID="Email" Text="E-mail" runat="server" Width="300px" />

<asp:RequiredFieldValidator ID="RequiredEmailValidator" runat="server" ErrorMessage="Field {0} is required." ControlToValidate="Email" Display="Dynamic"></asp:RequiredFieldValidator>

したがって、エラー メッセージ " Field {0} is required" は " " に変換する必要がありますField E-mail is required

4

1 に答える 1

3

は、単一のフィールド (プロパティ)RequiredFieldValidatorを検証する ASP.NET 検証コントロールです。ControlToValidateつまり、これらのバリデーターの 1 つに対して定義するメッセージは、検証されるフィールドの特定のメッセージである必要があります。この場合:

<asp:TextBox ID="Email" Text="E-mail" runat="server" Width="300px" />
<asp:RequiredFieldValidator ID="RequiredEmailValidator" runat="server" ErrorMessage="Field E-mail is required." ControlToValidate="Email" Display="Dynamic"></asp:RequiredFieldValidator>

<asp:TextBox ID="UserName" Text="User Name" runat="server" Width="300px" />
<asp:RequiredFieldValidator ID="RequiredEmailValidatorUN" runat="server" ErrorMessage="Field User Name is required." ControlToValidate="UserName" Display="Dynamic"></asp:RequiredFieldValidator>

このロジックに従って、RequiredFieldValidator検証する必要があるフィールドごとに 1 つのインスタンスがあり、メッセージは検証ごとに個別に定義されます。

RequiredFieldValidatorそれぞれがページにレンダリングされるため、操作できるため、javascript を介してこのメ​​ッセージを設定することもできます。コード ビハインドで C# を使用して変更する場合も同様です。

于 2013-06-04T21:35:55.517 に答える