当我使用ZF复选框元素时,我有验证问题。
$element = new Zend_Form_Element_Checkbox('iagree', array('uncheckedValue'=>null,'checkedValue'=>'Y','disableLoadDefaultDecorators' => true, 'class'=>'required agreetc' ));
$element->addDecorator('ViewHelper')
->setRequired(true)
->addErrorMessage('You must agree Privacy policy & Terms of use');
$this->addElement($element);
以上代码输出:
<input type="hidden" value="" name="iagree">
<input type="checkbox" class="required agreetc" value="Y" id="iagree" name="iagree">
这是我的jQuery验证器。
<script language="JavaScript" type="text/javascript">
$(document).ready(function(){
$.validator.addMethod("agreetc", function(value, element) {
return $('#iagree').is(':checked');
}, "You must agree Privacy Policy & Terms of Use.");
$("#register").validate({ignore: ":hidden"});
});
</script>
除复选框外,所有其他字段都突出显示。我试过忽略但它没有用
我试过的其他解决方案。我制作了ZF代码,以便它不会输出隐藏字段,但服务器端检查将不起作用。
答案 0 :(得分:1)
使用以下代码
<script language="JavaScript" type="text/javascript">
$(document).ready(function(){
$.validator.addMethod("agreetc", function(value, element) {
return $('#iagree').not(':hidden').is(':checked');
}, "You must agree Privacy Policy & Terms of Use.");
$("#register").validate({ignore: ":hidden"});
});
</script>