2014-01-29 35 views
4

有没有办法把投入的现场验证的Zurb基金会断,所以当一个字段实际上留下的验证只发生?如何打开Zurb基金会守住现场验证关闭?

该文档指向变量:live_validate,但将其设置为false似乎没有效果。另外这实际上似乎永远不会取代全球由foundation.abide.js

使用的另外它可能是设置现场验证领域的具体是个好主意。

任何想法?

+0

什么Foundation版本是您使用有live_validate标志正式?很高兴有你使用的代码开始遵守。 – Eduardo

回答

3

貌似没有办法做到,使用live_validate。的确,这个参数甚至没有在Abide里面使用。

来间接解决这个问题,使用timeout参数的一种方法。它以毫秒为单位定义了字段将被检查以进行验证的频率,这是一种在字段中进行的轮询。如果您设置的值很高,它将最终按您的需要工作,即超时不会过期,只有在失去焦点时才会验证该字段。

因此,像下面的代码将是一个解决办法:

/* 100 seconds until verifying the field to be validated */ 
$(document).foundation({abide: { timeout: 100000, patterns: { xxx: /^...$/ } }}); 

作为一个方面说明,我已经添加了live_validate到信守代码,并提出了Github上pull request。希望它会被合并。如果您现在要使用它,请使用Abide from my fork

编辑:我拉的请求被合并的主。因此,您现在可以从zurb:master

+0

非常感谢Eduardo!这可能会缓解很多头痛问题。我们现在实际上决定将'backbone.validation'与'backbone.stickit'结合使用,这给了我们更多的选择。 –

+0

不客气,@ mr.T。很好,我不知道骨干验证。干杯! – Eduardo

+0

似乎无法完成此项工作。 abide.js不仅会忽略live_update = false属性,而且会忽略超时时间。我不确定为什么这个模块太混乱了。 – cbmtrx