3
我在靜態表單中使用Yii用戶端驗證,這很好。 但我不知道如何爲ajax加載的元素添加驗證器。Yii - 用戶端驗證ajax加載表單元素
我有簡單的窗體小部件,我想通過AJAX加載更多的輸入字段(這對小jQuery腳本沒有問題)。但我不知道如何添加的Yii驗證器的JavaScript加載的元素 - 我的意思是創建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>
有什麼辦法如何添加或刪除驗證?
以標準方式添加驗證器:通過渲染使用適當輸入元素渲染器的視圖(例如,與[本](http://www.yiiframework.com/doc/api/1.1/CHtml#activeTextField-detail)和類似的方法或通過'CActiveForm') – Jon 2012-08-17 09:39:49
我已經有了它們。但我有另一個問題: 我有驗證器的元素: '$ email = new Yp_Form_Element(Yp_Form_Element :: FIELD_textField,'email',$ this); $ email-> setRequired()' 但Yii在渲染頁面後創建了javascript客戶端驗證腳本。但我需要爲這個腳本添加一些Ajax加載元素。 – emte 2012-08-17 10:22:52
如何渲染所有輸入並使用jquery隱藏它們,而不是通過ajax加載它們。如果沒有太多的話。 – Asgaroth 2012-08-27 15:19:02