2014-01-09 1 views
1

RangeValidator을 적용했습니다. 하지만 그것은 항상 저에게 오류를 보여줍니다 : 범위가 잘못되었습니다. 최소값은 10이고 최대 값은 25이지만, 사용자가 길이가 10 미만이고 25보다 큰 값을 입력하면 안됩니다. 나는 그 사용자가 아무 것도 입력 할 수 없도록하고 싶습니다. 나는 type="string"RangeValidator에 가지고 있습니다. 그러나 그것은 항상 저에게 오류 메시지를줍니다 : 범위가 잘못되었습니다.Range Validator가 asp.net에서 작동하지 않습니다. 최소 및 최대 값

<td> 
    <asp:TextBox ID="tbPassword" runat="server" MaxLength="25" type="password"> 
    </asp:TextBox> 
    <asp:RequiredFieldValidator ID="rfvPassword" runat="server" 
     ControlToValidate="tbPassword" ForeColor="red" Display="Dynamic" 
     ErrorMessage="Password is required." SetFocusOnError="true"> 
    </asp:RequiredFieldValidator> 
    <asp:RangeValidator ID="rvPassword" ControlToValidate="tbPassword" 
     ForeColor="red" Display="Dynamic" MinimumValue="10" MaximumValue="25" 
     SetFocusOnError="true" Type="String" runat="server" 
     ErrorMessage="Invalid Range"> 
    </asp:RangeValidator> 
</td> 

답변

5

이렇게하려면 Emad Mokhtar에서 제안한대로 CustomValidator 컨트롤을 사용해야합니다.

서버 측 유효성 검사를 위해 다음과 같은 이벤트를 생성하십시오.

protected void TextValidate(object source, ServerValidateEventArgs e) 
{ 
    e.IsValid = (e.Value.Length >= 10 && e.value.Length <= 25); 
} 

클라이언트 측 유효성 검사를 위해 다음과 같은 javascript 함수를 만듭니다.

<script type="text/javascript"> 
    function validateLength(oSrc, args){ 
     args.IsValid = (args.Value.length >= 10 && args.Value.length <= 25); 
    } 
</script> 

다음 aspx 마크 업에는 CustomValidator 컨트롤이 있습니다.

<asp:Textbox id="tbPassword" runat="server" text=""></asp:Textbox> 
<asp:CustomValidator id="customValidator" runat="server" 
    ControlToValidate = "tbPassword" 
    OnServerValidate="TextValidate" 
    ErrorMessage = "Password must be between 10 to 25 characters!" 
    ClientValidationFunction="validateLength" > 
</asp:CustomValidator> 

자세한 내용은 here을 참조하십시오.

1

직접 CustomValidator 컨트롤을 사용하여 구현하고 클라이언트를 적용하고 측 유효성 검사를 절단 할 수있다이 검증, 샘플 here을 찾아주십시오.

+0

방금 ​​시도했지만 whn 사용자가 유효하거나 유효하지 않은 값을 입력하면 오류가 표시되지 않고 훨씬 이상한 butSave_Click 코드로 이동합니다. –

0

최근에이 멋진 기능을 보았습니다. 아래의 속성을 사용하여 control/html을 사용하십시오. 는 MINLENGTH = "10"최대 길이 = 속성으로 "1000"

는 명확하게 10 자 최소 1000 개 문자의 최대 수 상태.

관련 문제