zoukankan      html  css  js  c++  java
  • knockoutjs with绑定导致unobtrusive validation失效的问题

    如果最初的时候with绑定的对象是空的,那么with绑定内部的unobtrusive validation规则在提交的时候无法生效,无法进行验证。

    解决办法:

    在提交的时候(或者with绑定的对象非空值以后),先清除form对象的'validation'的data:

    $.removeData($form[0], 'validator');

    然后调用unobtrusive validation的parse函数重新对form内的控件进行解析。

    $.validator.unobtrusive.parse($form[0]);

    再调用valid()函数就可以正常验证了。

    with绑定的对象为空的时候,还会导致form内button(或其他控件)的jquery的事件处理代码不能正常触发。需要把button移动到with绑定范围之外。

     knockoutjs 对with 的说明:

    If the expression you supply evaluates to null or undefined, descendant elements will not be bound at all, but will instead be removed from the document.

    If the expression you supply involves any observable values, the expression will be re-evaluated whenever any of those observables change. Then, descendant elements will be cleared out, and a new copy of the markup will be added to your document and bound in the context of the new evaluation result.

  • 相关阅读:
    编译安装 openmcu
    spring AOP
    spring 依赖注入
    maven项目无法新增java test目录的问题
    java 路径的问题
    使用httpClient模拟http请求
    java String 内存模型
    javaweb项目中的过滤器的使用
    javaweb+spring 项目集成异常的处理
    javaweb 项目的异常处理
  • 原文地址:https://www.cnblogs.com/ddeef/p/3297776.html
Copyright © 2011-2022 走看看