2014-12-03 116 views
0

任何人都可以理解为什么这不会验证。我正在使用jQuery 1.11.1和最新版本的bValidator。bValidator单选按钮不起作用

<p id="surgery-yes"><label for="yes">Yes</label> 
<input name="surgery" data-bvalidator="required" value="Yes" type="radio" /> 
</p> 

<p id="surgery-no"><label for="no">No</label> 
<input name="surgery" value="No" type="radio" /></p> 
</p> 

我有所需的设置第一个单选按钮(是),并不管我是否选择“是”或“否”允许我提交表单没有错误。如果我不选择,那么我会在第一台收音机上看到“这是必填字段”。但是,无论我选择“是”还是“否”,表单都会提交。

我已经阅读了很多文档,无法弄清楚我的生活!任何帮助将是伟大的:)

谢谢, 加里。

回答

0

创建您自己的验证功能并执行检查。

jQuery的

$('form selector').data('bValidator').getValidators().checkradio = function(elem){ 
    if(elem.value == "Yes") 
     return true; 
    return false; 
} 

HTML

<p id="surgery-yes"><label for="yes">Yes</label> 
    <input name="surgery" data-bvalidator="checkradio,required" value="Yes" type="radio" /> 
</p> 

<p id="surgery-no"><label for="no">No</label> 
    <input name="surgery" data-bvalidator="checkradio,required" value="No" type="radio" /></p> 
</p> 

UPDATE

jQuery的

$('form selector').data('bValidator').getValidators().checkradio = function(elem){ 
    if($('[name="surgery"]:checked').val() == "Yes") 
     return true; 
    return false; 
} 

HTML

<p id="surgery-yes"><label for="yes">Yes</label> 
    <input name="surgery" data-bvalidator="checkradio,required" value="Yes" type="radio" /> 
</p> 

<p id="surgery-no"><label for="no">No</label> 
    <input name="surgery" value="No" type="radio" /></p> 
</p> 

注意:使用更新的jQuery和HTML