2014-01-23 6 views
0

나는 CompareValidator 마녀가 string.and 서버 코드에 대한 필드를 비교하려고 노력하고있어 Label1에 결과를 쓰고 있습니다. 정수 및 날짜 데이터 형식을 시도했는데 잘 작동하지만 문자열을 넣을 때 작동하지 않습니다. 필드에 정수를 넣으면 사실이라고 생각합니다. 어떻게 작동하게합니까?CompareValidator asp.net 유형 : 문자열

<asp:TextBox ID="name" runat="server" CausesValidation="True" MaxLength="40"> </asp:TextBox> 
<asp:CompareValidator 
     ID="CompareValidator1" 
     runat="server" 
     ControlToValidate="name" 
     Operator="DataTypeCheck" 
     Type="String"> 
</asp:CompareValidator> 
<asp:Label ID="Label1" runat="server" Text="Label" Visible="True"></asp:Label> 
<asp:Button ID="Button1" runat="server" Text="Изпрати" BackColor="Black" BorderColor="Black" BorderStyle="None" ForeColor="White" OnClick="PageValidate_SendMail" /> 

protected void PageValidate_SendMail(object sender, EventArgs e) 
    { 
     if (Page.IsValid) { 

      Label1.Text = "String"; 

     } 
     else { 
      Label1.Text = "Integer"; 

     } 
    } 
+0

'String'은 기본 ['Type']입니다 (http://msdn.microsoft.com/en-us/library/system.web.ui .webcontrols.basecomparevalidator.type (v = vs.110) .aspx). 모든 유형이 허용된다는 것을 의미한다고 가정합니다. 그러면'TryParse' 체크가 작동하면'args.IsValid = false'를 설정합니다. 'DateTime.TryParse' /'int.TryParse'). –

답변

0

다음과 같이 RegularExpressionValidator가 필요합니다. ValidationExpression는 = "^ [a-zA-Z]는 * $는 알파벳 만 입력을 제한합니다.

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="name" ValidationExpression="^[a-zA-Z]*$" ErrorMessage="RegularExpressionValidator" Display="Dynamic"></asp:RegularExpressionValidator> 

당신은 빈 입력을 확인하기 위해뿐만 아니라 의 RequiredFieldValidator을 사용할 수 있습니다.

그리고 만약 그 중 귀하의 요구 사항을 충족시키지 못하면 CustomValidator를 사용해야합니다.

+0

나는 espression.It와 함께 문자열을 확인하기위한 okey입니다.하지만 지금 내가 뭔가 다른 오류 메시지를받을 수있는 유일한 방법은 ErrorMessage 속성을 사용하는 것입니다. 어떻게 든 Else 섹션을 생략하고 오류 속성에 의해 추월됩니다. 내 맞춤 레이블 마사지로 ErrorMessage 속성을 재정의 할 수있는 방법이 있나요? 그 이유는 ErrorMassage의 위치를 ​​정할 수 없기 때문입니다. –

+0

기본적으로 Else는 클라이언트 측에서 검증이 수행되기 때문에 실행되지 않습니다. 메시지의 위치를 ​​지정하려면 원하는 위치에 Validator를 배치하면됩니다. ValidationSummary 컨트롤을 사용할 수도 있습니다. http://www.codingfusion.com/Post/ValidationSummary-Example-in-asp-net – gbs