aralejs / validator

Form Validator Widget
aralejs.org/validator/
41 stars 28 forks source link

validator 从 0.8.6 升级到 0.9.5 之后校验规则不能连着 3 个以上的 or #47

Closed pizn closed 11 years ago

pizn commented 11 years ago

例如: getRule("one").or("two").or("three") 这样下去,代码不报错,但结果不符合期望。原先的 0.8.6 版本支持!

lizzie commented 11 years ago

查了一下午, Rule 的逻辑与或非在 0.9.5 和 0.8.6 两个版本上都没多大改动, 但有个奇怪的现象是:

aRule.or('bRule')aRule.or('bRule').or('cRule').or('dRule') 是可以正常工作, 但是 .or() 偶数次, 如 aRule.or('bRule').or('cRule') 就不对了. 定位到 https://github.com/aralejs/validator/blob/master/src/rule.js#L20 这边其中一次 commit 的 result 返回 null 导致最终结果为验证通过.

lizzie commented 11 years ago

这个先关了.. 诡异问题. 还是期待 @hotoo 的 Webforms 吧

hotoo commented 11 years ago

压力山大。

lizzie commented 11 years ago

你顶得住 O(∩_∩)O哈哈~