asp.net有一个验证控件CustomValidator,一直没有机会使用过,今天有时间做了一个测试。如果你以前写Web站点时,常使用Javascript来做客户端验证的话,这个绝对可以使用的一个验证控件。
下面Insus.NET做的例子,是让一个TextBox不能为空。在aspx写上一个TextBox 和一个Button,铵钮事件没有写什么,只是做postBack而已,另外一个就是不能少了主角 asp:CustomValidator自定义验证控件。
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<
asp:TextBox
ID
="TextBox1"
runat
="server"
></
asp:TextBox
>
< asp:CustomValidator ID ="CustomValidator1" runat ="server" ClientValidationFunction ="ValidateTextBox"
ErrorMessage ="文本框不能为空。" ></ asp:CustomValidator >
< asp:Button ID ="Button1" runat ="server" Text ="Button" onclick ="Button1_Click" />
< asp:CustomValidator ID ="CustomValidator1" runat ="server" ClientValidationFunction ="ValidateTextBox"
ErrorMessage ="文本框不能为空。" ></ asp:CustomValidator >
< asp:Button ID ="Button1" runat ="server" Text ="Button" onclick ="Button1_Click" />
接下来,用Javascript写ClientValidationFunction的函数"ValidateTextBox" 放在aspx的head位置。
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<
script language
=
"
javascript
"
type
=
"
text/javascript
"
>
function ValidateTextBox(source, args) {
var txtBox = document.getElementById( ' <%= TextBox1.ClientID %> ' );
if (txtBox.value == "" )
args.IsValid = false ;
else
args.IsValid = true ;
}
< / script>
function ValidateTextBox(source, args) {
var txtBox = document.getElementById( ' <%= TextBox1.ClientID %> ' );
if (txtBox.value == "" )
args.IsValid = false ;
else
args.IsValid = true ;
}
< / script>
下面结果是没有对TextBox输入任何时,点击Button的效果: