2013-06-04 4 views
2

ASP.NET MVC에서 내가 그런 일 (매개 변수가 표시 이름으로 설정) 할 수에서 같은 매개 변수 오류 메시지 :ASP.NET 웹 양식 - ASP.NET MVC가

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

그래서 오류 메시지 "를 유효한 {0} "을 (를) (으)로 번역하십시오. 유효한 사용자 이름을 입력하십시오 :". 아래 코드에서 ASP.NET Web Forms의 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"번역되어야한다.

답변

3

RequiredFieldValidator은 단일 필드 (ControlToValidate 속성)의 유효성을 검사하는 ASP.NET 유효성 검사 컨트롤입니다. 즉,이 유효성 검사기 중 하나에 대해 정의한 메시지는 유효성 검사중인 필드에 대한 특정 메시지 여야합니다. 이 경우 :이 논리에 따라

<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 인스턴스가있는 것이며, 메시지는 별도로 각각의 검증에 대해 정의 될 것이다.

RequiredFieldValidator이 페이지에 렌더링되어 있으므로 조작 할 수 있으므로이 메시지는 자바 스크립트를 통해 설정할 수 있습니다. 이는 코드 숨김에서 C#을 통해 변경하는 경우에도 유효합니다.

+0

^이 작업을 수행하는 좋은 방법입니다. 이런 식으로하지 않으면 필드가 비어 있는지 확인하기 위해 C# 코드를 사용해야합니다. 그러면 asp : label 또는 HTML 요소에 오류 메시지가 출력됩니다. – ClosDesign

+0

그래서 TextBox Text를 "User Name"에서 "Login"으로 변경하면 "Field User Name is required."에서 ErrorMessage도 변경해야합니다. "필드 로그인이 필요합니다." - ASP.NET MVC에서 더 편합니다 :) – michael

+0

@michael 예, 메시지도 변경해야합니다. 실제로 이것을 동적으로 수행 할 수는 있지만 내장 된 기능이 아니기 때문에 코드 숨김에 약간 더 많은 C# 코드가 필요합니다. –

관련 문제