WebUIValidation.js是许多.NET解决方案中使用的非常标准的表单验证脚本。
Spans用作验证器,它们看起来像这样
<span id="myDateControl" data-val-evaluationfunction="RangeValidatorEvaluateIsValid" data-val="true" data-val-errormessage="invalid date" data-val-controltovalidate="myDateControl" type="Date" minimumvalue="1990-01-01" maximumvalue="2013-12-18" style="visibility:hidden;"><span class="Validate Error"></span></span>
脚本的作用是选择这些span元素并尝试使用点表示法访问对象的属性。
问题是验证代码无法访问minimumvalue和maximumvalue属性。 (我刚刚将这些属性添加到我的范围内。之前我只是进行了其他类型的验证,一切正常) 查看代码,'function RangeValidatorEvaluateIsValid(val)'尝试访问未定义的'val.minimunvalue'。在这种情况下,'val'对象只是一个span元素,并且使用点表示法无法访问属性'minimumvalue',只能使用'getAttribute(“minimumvalue”)'。与maximumvalue相同的事情
奇怪的是其他属性,例如'controltovalidate'和'errormessage'可以使用点表示法访问。 所以我想知道是否有一些属性动态添加到'val'对象,但是我已经搜索了我项目中的所有代码而没有找到类似的东西......
需要一些帮助。 WebUIValidation.js中的代码是否不正确? 或者在'val'对象上添加了某些我没注意到的属性?
答案 0 :(得分:0)
将data-val-
前缀添加到属性名称:
... data-val-minimumvalue=... data-val-maximumvalue=...