2015-06-29 148 views
3

我不能让我的生活得到Parsley.js来验证我的复选框,即使我的代码看起来就像他们的例子。我的HTML看起来像这样:为什么复选框验证在Parsley.js中不起作用?

<div class='button-row'> 
    <input data-parsley-mincheck='1' id='add-package-a-pre' name='add-package-alerts' type='checkbox' value='pre'> 
    <label for='add-package-a-pre'> 
    Pakke registrert 
    </label> 
    <input id='add-package-a-sent' name='add-package-alerts' type='checkbox' value='sent'> 
    <label for='add-package-a-sent'> 
    Pakke sendt 
    </label> 
    <input id='add-package-a-ready' name='add-package-alerts' type='checkbox' value='ready'> 
    <label for='add-package-a-ready'> 
    Pakke klar for henting 
    </label> 
    <input id='add-package-a-loaded' name='add-package-alerts' type='checkbox' value='loaded'> 
    <label for='add-package-a-loaded'> 
    Pakke lastet opp for utkjøring 
    </label> 
    <input id='add-package-a-delivered' name='add-package-alerts' type='checkbox' value='delivered'> 
    <label for='add-package-a-delivered'> 
    Pakke leveret 
    </label> 
</div> 

香菜开箱,并阻止我的形式从当我在我的文字输入一个有一个错误提交,但它完全忽略了没有我的复选框被选中的事实。据我所看到的,我的代码看起来就像他们所提供的例子:http://parsleyjs.org/doc/examples/simple.html

I have also made a JSFiddle that demonstrates the problem.

任何人都可以看到,为什么它不工作?我一直坚持这几个小时,而且我找不到遇到同样问题的其他人。

回答

7

事实证明,香菜将总是接受没有复选框被选中只要required属性未设置,即使data-parsley-checkmin="1"是。

要阐述:

  • <input type="checkbox" data-parsley-checkmin="1" />
    总是会通过验证,无论什么
  • <input type="checkbox" data-parsley-checkmin="2" />
    只会失败,如果1个复选框被选中
  • <input type="checkbox" data-parsley-checkmin="1" required />
    将无法​​通过验证的验证如果没有选中复选框

换句话说,data-parsley-checkmin="1"从来没有用。只需将其替换为required即可。

+1

这是正确的,在文档中一定要更清楚。 PR欢迎。 –

+1

如果“name”属性不存在,验证将通过 –