今天经过反复试验.才得出如何利用CustomValidator来验证textbox的长度.
首先,如思归老兄所说,在page_load添加
CustomValidator1.Attributes["len"] = "123";
即定义长度值.然后 写客户端验证函数
<script language="javascript">
function DataLength(source, arguments)
{
var len = source.length;
if(Form1.TextBox.value.length<=len)
{
arguments.IsValid = true;
}
else
{
arguments.IsValid = false;
}
}
</script>
注有2处不同
var len = source.length;获取长度范围
if(Form1.TextBox.value.length<=len)这里有没有其他写法.就不知道了.有研究更深的兄弟告诉一下.
<script language="javascript">
function ClientValidation(source,value)
{
var str = value.Value;
var len = 0;
for(var i=0;i<str.length;i++)
{
if(str.charCodeAt(i)<128)
len++;
else
len+=2;
}
if(len>5)
value.IsValid = true;
else
value.IsValid = false;
}
</script>
<asp:CustomValidator id="CustomValidator1" ControlToValidate="TextBox2" ClientValidationFunction="ClientValidation" Runat="server" ErrorMessage="长度6-20位"></asp:CustomValidator>
Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1482154