【一點經驗分享】Yii2 - ajax 和 client side混合檢驗

之前yii2的自定義檢驗需要使用到ajax來觸發服務器端自定義代碼的檢驗功能,後來發現整個表單都使用ajax的話有很大的延遲。

思考了一下正常php表單的解決方案,最好的方法就是一部分表單元素使用client-side檢驗,需要服務器端的再使用ajax,例如email或者用戶名是否已被其他人註冊了。代碼如下:

<?php $form = ActiveForm::begin([
        'id' => 'reg-form',
        ]); ?>
<?= $form->field($model, 'name_en') ?>
<?= $form->field($model, 'email',['enableAjaxValidation'=>true]) ?>
......
<?php ActiveForm::end(); ?>


email後面的設置['enableAjaxValidation'=>true]就是指明這個activefield才需要使用ajax驗證。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章