我是靠谱客的博主 冷静大船,这篇文章主要介绍ASP.NET中RequiredFieldValidator控件失效的解决办法,现在分享给大家,希望可以做个参考。

在将代码迁移后,发现RequiredFieldValida控件对textbox验证失效,从RequiredFieldValidator控件生成的js中(WebResource.axd)知道是在

复制代码
1
2
3
4
5
6
7
if (typeof(val.evaluationfunction) == "function") { val.isvalid = val.evaluationfunction(val); if (!val.isvalid && Page_InvalidControlToBeFocused == null && typeof(val.focusOnError) == "string" && val.focusOnError == "t") { ValidatorSetFocus(val, event); } }

中 typeof(val.evaluationfunction)不是function而引起的,RequiredFieldValidator控件生成的html标签中evaluationfunction="RequiredFieldValidatorEvaluateIsValid",而在兼容性evaluationfunction="function RequiredFieldValidatorEvaluateIsValid(val) {
    return (ValidatorTrim(ValidatorGetValue(val.controltovalidate)) != ValidatorTrim(val.initialvalue))
}“

解决方法一:可以重写RequiredFieldValidator的evaluationfunction

复制代码
1
2
3
4
5
6
7
var val = document.getElementById('<%= RequiredFieldValidatorId.ClientID %>'); function RequiredFieldNewFunction() { return (ValidatorTrim(ValidatorGetValue(val.controltovalidate)) != ValidatorTrim(val.initialvalue)); } val.evaluationfunction = RequiredFieldNewFunction();

解决方法二: 就是看web.config中是不是是设置了

复制代码
1
<xhtmlConformance mode="Legacy"/>

将其注释掉或者改成transitional,而xhtmlConformance可以网上查资料

谷歌现在直接用ip访问好像挺不错 http://209.116.186.231/

最后

以上就是冷静大船最近收集整理的关于ASP.NET中RequiredFieldValidator控件失效的解决办法的全部内容,更多相关ASP.NET中RequiredFieldValidator控件失效内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部