정적 양식에서 Yii 사용자 측 유효성 검사를 사용하고 있습니다. 하지만 아약스로드 요소에 대한 유효성 검사기를 추가하는 방법을 모르겠습니다.Yii - 아약스로드 된 폼 요소에 대한 사용자 측 유효성 검사
간단한 양식 위젯이 있고 AJAX를 통해 입력 필드를 더 적게로드하고 싶습니다. (작은 jQuery 스크립트에서는 문제가 아닙니다.) 하지만로드 된 요소에 대한 유효성 검사기 자바 스크립트 YII를 추가하는 방법을 모른다 - 내가 좋아하는 유효성 검사기 JS 만든 자동차를 의미 :
<script type="text/javascript">
/*<![CDATA[*/
jQuery(function($) {
$('#newsletter-form-footer').yiiactiveform({'validateOnSubmit':true,'validateOnChange':false,'afterValidate':Form.handleByAjax,'attributes':[{'id':'NewsletterForm_emailaddress','inputID':'NewsletterForm_emailaddress','errorID':'NewsletterForm_emailaddress_em_','model':'NewsletterForm','name':'emailaddress','enableAjaxValidation':false,'clientValidation':function(value, messages, attribute) {
if($.trim(value)=='') {
messages.push(" VALIDATOR_REQUIRED");
}
if($.trim(value)!='' && !value.match(/^[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/)) {
messages.push(" VALIDATOR_EMAIL");
}
}}]});
});
/*]]>*/
</script>
방법을 추가하거나 유효성 검사기 것을 제거 할 수있는 방법이 있나요? 당신이 yiiactiveform를 사용하여 수행하려는 경우
표준 방식으로 유효성 검사기를 추가합니다. 적절한 입력 요소 렌델을 사용하는보기를 렌더링합니다 (예 : [this] (http://www.yiiframework.com/doc/api/1.1/CHtml#activeTextField-detail)와 유사한 메소드 또는'CActiveForm'을 통해) – Jon
나는 이미 가지고있다. 하지만 또 다른 문제가 있습니다 : 요소에 대한 유효성 검사기가 있습니다 : '$ email = new Yp_Form_Element (Yp_Form_Element :: FIELD_textField, 'email', $ this); $ email-> setRequired()' 하지만 Yii는 렌더링 페이지 이후에 자바 스크립트 클라이언트 측 유효성 검사 스크립트를 만듭니다. 하지만 아약스로드 된 요소에이 스크립트에 뭔가를 추가해야합니다. – emte
ajax를 통해로드하는 대신 모든 입력을 렌더링하고 jquery를 사용하여 숨 깁니다. 너무 많지 않으면. – Asgaroth