首页 新闻 会员 周边 捐助

关于RequiredFieldValidator的问题

0
悬赏园豆:20 [已关闭问题] 关闭于 2007-12-12 18:15
<P><FONT size=2>我在页面动态添加了一个RequiredFieldValidator,其属性分别为:</FONT></P> <P>ControlToValidate = inputTextbox.ID;ErrorMessage = "该项不能为空";Display = ValidatorDisplay.Dynamic;当inputTextbox为空的时候,提交验证的可以直接通过,而在服务器短的时候才报了错。我调试时发现,在 ValidatorValidate函数中,因typeof(val.evaluationfunction) == "function"为false,而使val.isvalid = val.evaluationfunction(val);不能执行。但此时我发现,val.evaluationfunction="RequiredFieldValidatorEvaluateIsValid",而RequiredFieldValidatorEvaluateIsValid呢,实际上是一个函数,其作用就是判断验证输入控件inputTextbox的值是否为空,我用immediate窗口调试发现,RequiredFieldValidatorEvaluateIsValid(val)其实为false,即判断出那个输入控件为空了。</P> <P>我的问题是,为什么typeof(val.evaluationfunction) == "function"为false呢,这些代码都是vs2005中asp.net内部的,不是我写的。</P> <P>另外:我以为是vs除了问题,所以我在另一个网页中重新作了一个静态的例子,这时却不存在这个问题。我又怀疑是不是因为母板邦定的时候,ControlToValidate弄错了监控对象,但我从内部调试时发现,并没有错,可以肯定的说,就是我要控制的那个输入控件。</P> <P mce_keep="true">不知道错在哪里了,请专家们帮帮我吧。</P> <P mce_keep="true">&nbsp;</P>
Sangplus的主页 Sangplus | 初学一级 | 园豆:180
提问于:2007-12-07 21:21
< >
分享
所有回答(1)
1
<asp:TextBox ID="Title" MaxLength="100" runat="server" /><asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="不能为空" ControlToValidate="Title"></asp:RequiredFieldValidator> ValidatorValidate就是这样验证的啊 或者 <asp:ValidationSummary ID="ValidationSummary1" DisplayMode="BulletList" EnableClientScript="true" ShowSummary="false" ShowMessageBox="true" HeaderText="请正确填写以下内容" runat="server" /> <asp:TextBox ID="Title" MaxLength="100" runat="server" Width="300px" /> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="Title" ErrorMessage="必须填写" Display="None" runat="server" /> LZ是不是想得太复杂了
AndyFish | 园豆:1575 (小虾三级) | 2007-12-11 16:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册