日期:2014-05-17  浏览次数:20402 次

兄弟们,新的问题又来了
接着我的前两篇<mvc如何实现我这样的验证需求>和<mvc如何实现我这样的验证需求(续)>
前两个问题都解决了 都是我自己解决的 现在通过修改jquery.validate.unobtrusive.js能够实现给验证span添加多套自定义样式 而且class名称是替换而不是添加 从而避免多个class样式扰乱
现在新的问题又来了 页面加载完要让span显示提示信息样式 正确时才显示正确样式
我在其他页面通过 
$(function(){
$("span[data-valmsg-for='UserEmail']").attr("className", "wy-focus").html("推荐使用QQ邮箱").show();}) 

这样将验证span的class替换为信息提示样式
但是现在这个页面 同样的方法就不能实现 span是field-validation-valid 也就是说在上面那句替换样式语句后wy-focus被field-validation-valid替换了 其实本来页面加载完如果不干预验证span 那么class就该是field-validation-valid的 那么mvc在页面刚加载完时是何时给span的class赋值的呢 为什么有的页面在$(function(){})后 有的在$(function(){})前
于是我如法炮制 还想去jquery.validate.unobtrusive.js去找答案 但是发现所有引用field-validation-valid的地方都不是页面加载完给span加class的地方 于是我再去jquery.validate.js看 结果那里一个field-validation-valid都没有 那我就奇怪了是哪里的代码给验证span的class赋了初始值呢 
或者大家有没有其他好的方法能够解决这个问题 前提用mvc验证

------解决方案--------------------

------解决方案--------------------
样式的修改只需要修改MVC中默认验证错误样式的CSS就可以,而且很多验证的确是由class这个属性来控制的
并且很多验证都是可扩展的,验证规则都是自己可以定义的,错误提示文字也是可以自己配置和定义的.