Yii форму проверки AJAX, отправить и ответ - PullRequest
0 голосов
/ 30 ноября 2011

Я думаю, что каждый фреймворк поддерживает некоторую встроенную поддержку AJAX, так что это может быть общий вопрос, касающийся разработки на основе MVC.То, что я хочу спросить,У меня есть форма, которая отправляет данные через AJAX, все работает нормально, за исключением того, что, когда я отправляю форму без заполнения текстовых полей, она проверяет данные и текст подтверждения данных получает в ответ.

Я хочу, чтобы этого не произошло.

1 Ответ

2 голосов
/ 01 декабря 2011

Ваш вопрос трудно понять (и вы не пересмотрели его, несмотря на запросы), но я постараюсь ответить (вопреки моему лучшему суждению;).

У вас могут быть две проблемы:

  1. Вы не хотите проверять с AJAX

Если это так, то, глядя на ваш другой вопрос , вы на правильном пути, насколько я могу судить. Вы можете отключить проверку AJAX следующим образом:

<?php $form=$this->beginWidget('CActiveForm', array(
  'id'=>'contacts-form',
  'enableAjaxValidation'=>false, // this turns off AJAX validation
)); ?>

Если для enableAjaxValidation установлено значение false, пустые текстовые поля больше не будут проверяться встроенной системой проверки AJAX Yii.

  1. В вашей модели не установлены правильные правила проверки полей

Если вы не хотите видеть ошибки при отправке пустых текстовых полей, значит, у вас проблема с правилами проверки модели. Похоже, эти поля установлены как «обязательные», и вы не хотите, чтобы они были. Если это так, то даже если вы включите проверку AJAX, вы получите эти ошибки при проверке вашей модели на регулярной отправке без AJAX.

Вот пример:

class Model extends CActiveRecord {
  public function rules() {
    return array(
        array('oneTextField, anotherTextField', 'required'), // these will error if submitted empty / blank
        array('checkboxField', 'boolean'),
    );
  }
}

Вот хорошее место для начала изучения правил валидации Yii для моделей: Объявление правил валидации

Удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...