使用CustomValidator验证用户输入
2011-02-14 14:40
309 查看
在验证某些用户输入时, ASP.NET提供的那几个简单的验证控件肯能难以满足需求。 例如如果我们需要一个复杂的,有条件的验证时, 就必须自己来定义验证方法了。下面是一个简单的使用CustomValidator的例子。
1
2 <div>
3 <asp:TextBox ID="tbDays" runat="server" ValidationGroup="submit"></asp:TextBox>
4 <asp:CustomValidator ID="tbDaysValidator" runat="server" ControlToValidate="tbDays" ValidationGroup="submit"
5 ErrorMessage="the value must be between 1 and 99" ValidateEmptyText="true" EnableClientScript="true"
6 ClientValidationFunction="ValidateTBDays">
7 </asp:CustomValidator>
8 </div>
9 <asp:Button ID="btnSave" ValidationGroup="submit" CausesValidation="true" runat="server" Text="Submit" OnClick="btnSave_Click" />
<script type="text/javascript">
function ValidateTBDays(source, eventArg) {
if (eventArg.Value) {
var number = /^[1-9]\d{0,1}$/;
eventArg.IsValid = number.test(eventArg.Value);
}
else {
eventArg.IsValid = false;
}
}
</script>
注意 “ValidateEmptyText” 属性, 如果不把这个属性设置为true的话, 那么当输入为空时就不会激发验证方法了。
在 ValidateTBDays 中, var number = /^[1-9]\d{0,1}$/; 这个正则表达式是用来验证输入的值是否是1-99之间的数的。
另外在写验证函数时,还要注意eventArg 中的属性Value 和IsValid 是大小写敏感的。
还有在某些情况下需要手动调用页面上的验证控件, 让他们各自进行验证, 调用方法就是 Page_ClientValidate('Submit'), 其中的参数就是ValidationGroup。
1
2 <div>
3 <asp:TextBox ID="tbDays" runat="server" ValidationGroup="submit"></asp:TextBox>
4 <asp:CustomValidator ID="tbDaysValidator" runat="server" ControlToValidate="tbDays" ValidationGroup="submit"
5 ErrorMessage="the value must be between 1 and 99" ValidateEmptyText="true" EnableClientScript="true"
6 ClientValidationFunction="ValidateTBDays">
7 </asp:CustomValidator>
8 </div>
9 <asp:Button ID="btnSave" ValidationGroup="submit" CausesValidation="true" runat="server" Text="Submit" OnClick="btnSave_Click" />
<script type="text/javascript">
function ValidateTBDays(source, eventArg) {
if (eventArg.Value) {
var number = /^[1-9]\d{0,1}$/;
eventArg.IsValid = number.test(eventArg.Value);
}
else {
eventArg.IsValid = false;
}
}
</script>
注意 “ValidateEmptyText” 属性, 如果不把这个属性设置为true的话, 那么当输入为空时就不会激发验证方法了。
在 ValidateTBDays 中, var number = /^[1-9]\d{0,1}$/; 这个正则表达式是用来验证输入的值是否是1-99之间的数的。
另外在写验证函数时,还要注意eventArg 中的属性Value 和IsValid 是大小写敏感的。
还有在某些情况下需要手动调用页面上的验证控件, 让他们各自进行验证, 调用方法就是 Page_ClientValidate('Submit'), 其中的参数就是ValidationGroup。
相关文章推荐
- 【转】使用Validators验证用户输入
- 个人收藏使用javascript 做用户输入验证
- 使用JSP标签库验证用户的输入(2)完
- 使用 验证控件 验证用户的输入字数
- Spring框架整合Struts2使用Validation框架验证表单用户输入数据的详细教程
- Atlas学习手记(26):使用Validators验证用户输入
- SpringMVC使用Hibernate Validator验证用户输入
- Spring 注册用户(使用Spring Validator 验证输入)
- 使用自定义验证控件验证用户的输入字数
- 使用JSP标签库验证用户的输入(1)
- 一步步学习SPD2010--第十四章节--在Web页面使用控件(3)--验证用户数据输入
- 使用动态编译验证用户输入合法性
- 使用JavaScript验证用户输入的是否为正整数
- 一步步学习SPD2010--第十四章节--在Web页面使用控件(3)--验证用户数据输入
- 使用JSP标签库验证用户的输入(1)
- 使用JSP标签库验证用户的输入(2)完
- Atlas学习手记(26):使用Validators验证用户输入
- Spring框架整合Struts2使用Validation框架验证表单用户输入数据的详细教程
- 使用AT SELECTION-SCREEN事件验证用户输入条件的反思
- 使用AT SELECTION-SCREEN事件验证用户输入条件的反思