2012-05-07 48 views
1

當我使用ZF複選框元素時,我有驗證問題。Zend框架上的jQuery驗證器問題複選框

$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代碼,以便它不會輸出隱藏字段,但服務器端檢查將不會在那個時間工作。

回答

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> 
+0

出色的工作!你是如何發現這一點的,看起來像一個zend複選框組成或一個隱藏的元素 – surfer190

+0

我有同樣的問題,然後我想出了隱藏的元素..然後它很簡單..你知道!如果你發現這是答案,那麼你會介意檢查這是你的答案..謝謝 –