범위는 검사기에서 작동하지 않는 asp.net 최소값과 최대값
-
21-12-2019 - |
문제
가 적용 RangeValidator
에 TextBox
.그러나 그것은 항상 나를 보여 오류가:잘못된 범위,하지만 나는 최소값 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.
제휴하지 않습니다 StackOverflow