使用 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代码,这样它就不会输出隐藏字段,但是服务器端检查当时就不起作用了。
最佳答案
使用下面的代码
<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>
关于Zend 框架复选框上的 jQuery 验证器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10485129/