문제

4 ~ 13에서 13까지의 범위를 지정하려고합니다. 그러나 "MaximumValue 13이 RangeValidator1의 최소 값 4보다 작을 수 없음"이라는 오류가 유지됩니다.어떻게 해결할 수 있습니까?다음은 내 코드가 있습니다 :


     <asp:TextBox ID="TextBox2" runat="server" ValidationGroup="Group1"></asp:TextBox>
     <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" 
                ControlToValidate="TextBox2" ErrorMessage="กรุณากรอก Password" ForeColor="Red" 
                ValidationGroup="Group1">*</asp:RequiredFieldValidator>
     <asp:RangeValidator ID="RangeValidator1" runat="server"
                ControlToValidate="TextBox2" 
                ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red" 
                MaximumValue="13" MinimumValue="4" Type="String" EnableClientScript="false">*</asp:RangeValidator>
.

이것은 버튼의 코드입니다.


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

            }
            else
            {
                Insert();
            }
        }
        catch (Exception ex)
        {

        }
    }
.

감사하게도 도움이됩니다.

도움이 되었습니까?

해결책

RangeValidator 값 길이가 아닌 컨트롤의 값을 검증합니다.문자열 비교의 경우 "13"은 "4"보다 작으므로 "최대

regulareXpressionValidator를 사용하여 입력 길이를 확인해야합니다.

 <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
            ControlToValidate="TextBox2" 
            ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red" 
            ValidationExpression="^.{4,13}$" ValidationGroup="Group1" EnableClientScript="false">*</asp:RegularExpressionValidator>
.

다른 팁

정수 유형 값을 위해 RangeValidator를 사용하는 경우 Type Integer를 설정합니다.

<asp:RangeValidator ID="RangeValidator1" runat="server"
                ControlToValidate="TextBox2" 
                ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red" 
                MaximumValue="13" MinimumValue="4" Type="Integer" EnableClientScript="false">*</asp:RangeValidator>
.

그러나 암호 필드를 사용하여 RangeValidator를 사용하고 있음을 놀라게합니다.이 경우 사용자가 4-13 사이에 값을 저장하도록 제한합니다. 아마도 입력의 길이를 확인하려고합니다.이를 위해 정규식 유효성 검사기를 사용합니다.

<asp:RegularExpressionValidator ID="RegexVal" ValidationExpression="^.{4,13}$"  runat="server" ErrorMessage="Password must be 4-13 character long" ControlToValidate="TextBox2"  />
.

확인하려는 지정된 데이터 유형은 현재 문자열로 설정됩니다."4"는 "13"보다 큽니다. 그래서 그러한 오류가 발생합니다.컨트롤의 유형 인수를 정수로 변경하고 작동해야합니다.

유형은 문자열이 아닌 정수 여야합니다

<asp:RangeValidator ID="RangeValidator1" runat="server"
            ControlToValidate="TextBox2" 
            ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red" 
            MaximumValue="13" MinimumValue="4" Type="Integer" EnableClientScript="false">*
</asp:RangeValidator>
.

Google은 아래 오류 메시지를 번역했습니다. 암호는 4-13 자로 구성되어야합니다.

pashapash 'answer https://stackoverflow.com/a/21060857/263003 가 올바른

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