문제

가 적용 RangeValidatorTextBox.그러나 그것은 항상 나를 보여 오류가:잘못된 범위,하지만 나는 최소값 10 과 최대값 25.내가 원하는 사용자를 입력하는 값의 길이가 10 미만이고 보다 큰 25.나는 사용자가 원하는 수 아무것도 입력,그래서 나 type="string"RangeValidator.그러나 그것은 항상 나에게 오류 메시지:에 올바르지 않은 범위가 있습니다.

<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>
도움이 되었습니까?

해결책

이를 위해 당신를 사용할 필요가 있을 것입니다 CustomValidator 제어에 의해 제안 Emad 타르.

서버 측면 유효성 검사에 이벤트를 만들은 이렇습니다.

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

클라이언트 측면 유효성 검증을 만들고,자바 스크립트와 같은 기능이다.

<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>

자세한 내용을 찾을 수 있습니다 .

다른 팁

이러한 유효성 검사 기능을 사용하여 구현할 수 있습 CustomValidator 제어하고 적용을 클라이언트와 서버 측면을 검증하십시오 찾기 샘플 .

나는 최근에 이 멋진 기능을 사용하여,아래의 특성을 asp 컨/html.minLength="10"maxLength="1000"

로 속성이나 힐스에 위치한 이 호텔의 경우 할 수 있습의 최소 10 자리에서 최대 1000characters.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top