在将代码迁移后,发现RequiredFieldValida控件对textbox验证失效,从RequiredFieldValidator控件生成的js中(WebResource.axd)知道是在
复制代码
1
2
3
4
5
6
7if (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
7var 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控件失效内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复