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 コードを作成しましたが、その際にサーバー側のチェックが機能しません。