Afn*_*mad 1 asp.net rangevalidator validation-controls
我申请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>
Run Code Online (Sandbox Code Playgroud)
为此,您需要使用CustomValidatorEmad Mokhtar建议的控件.
对于服务器端验证,请创建这样的事件.
protected void TextValidate(object source, ServerValidateEventArgs e)
{
e.IsValid = (e.Value.Length >= 10 && e.value.Length <= 25);
}
Run Code Online (Sandbox Code Playgroud)
对于客户端验证,请创建一个这样的javascript函数.
<script type="text/javascript">
function validateLength(oSrc, args){
args.IsValid = (args.Value.length >= 10 && args.Value.length <= 25);
}
</script>
Run Code Online (Sandbox Code Playgroud)
然后在你的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>
Run Code Online (Sandbox Code Playgroud)
你可以在这里找到更多细节.
| 归档时间: |
|
| 查看次数: |
7854 次 |
| 最近记录: |