Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Ajax валидация YII
lodas  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 232
Пользователь №: 34378
На форуме: 4 года, 3 месяца, 25 дней
Карма:




Здравствуйте. Все мучаюсь над вопросом Ajax валидации. Хочу чтобы поля input проверяли сразу(динамически) при их заполнении. Подключаю аякс валидацию, но тщетно- не срабатывает. Выводит AJAX NONE. Вот код контроллера:
// Для аякс валидации 
//$this->performAjaxValidation($model);

if(isset($_POST['ajax']) && $_POST['ajax']==='user-form')
{
$msg="Сработал AJAX!!";
echo CActiveForm::validate($model);
Yii::app()->end();
}
else $msg="AJAX NONE!!";

View:
<?php $form=$this->beginWidget('CActiveForm', array(
'id' => 'user-form',
'enableAjaxValidation' => true,
'clientOptions' => array(
'validateOnSubmit' => true,
'validateOnChange' => true,
),
));
?>

<p class="note">Fields with <span class="required">*</span> are required.</p>

<?php //echo $form->errorSummary($model); ?>

<div class="row3">
<?php echo $form->labelEx($model,'email',array('class'=>'sear')); ?>
<?php
echo $form->labelEx($model,'login',array('class'=>'sear')); ?>
<?php
echo $form->labelEx($model,'password',array('class'=>'sear')); ?>
<?php
echo $form->labelEx($model,'password_repeat',array('class'=>'sear','caption'=>'Повторите пароль')); ?>
<?php
echo $form->labelEx($model,'имя',array('class'=>'sear')); ?>
<?php
echo $form->labelEx($model,'surname',array('class'=>'sear')); ?>
<?php
//echo "</br>";?>
<?php echo $form->labelEx($model,'patronymic',array('class'=>'sear')); ?>
<?php
echo $form->labelEx($model,'paul',array('class'=>'sear')); ?>
<?php
echo $form->labelEx($model,'telephone',array('class'=>'sear')); ?>
<?php
echo $form->labelEx($model,'city',array('class'=>'sear')); ?>

<?php
echo $form->labelEx($model,'role',array('class'=>'sear')); ?>
<?php
echo $form->labelEx($model,'№ кошельков',array('class'=>'sear')); ?>
<?php
echo $form->labelEx($model,'webm R',array('class'=>'sear')); ?>
<?php
echo $form->labelEx($model,'webm Z',array('class'=>'sear')); ?>
<?php
echo $form->labelEx($model,'visa',array('class'=>'sear')); ?>
<?php
echo $form->labelEx($model,'address',array('class'=>'sear')); ?>
</div>
<
div class="row2">
<?php echo $form->textField($model,'email',array('size'=>45,'maxlength'=>45)); ?>

<?php
echo $form->textField($model,'login',array('size'=>45,'maxlength'=>45)); ?>

<?php
echo $form->passwordField($model,'password',array('size'=>45,'maxlength'=>45)); ?>

<?php
echo $form->passwordField($model,'password_repeat',array('size'=>45,'maxlength'=>45)); ?>

<?php
echo $form->textField($model,'surname',array('size'=>45,'maxlength'=>45)); ?>

<?php
echo $form->textField($model,'name',array('size'=>45,'maxlength'=>45)); ?>

<?php
echo $form->textField($model,'patronymic',array('size'=>45,'maxlength'=>45)); ?>

<?php
echo $form->textField($model,'paul',array('size'=>45,'maxlength'=>45)); ?>

<?php
echo $form->textField($model,'telephone',array('size'=>45,'maxlength'=>45)); ?>

<?php
echo $form->textField($model,'city',array('size'=>45,'maxlength'=>45)); ?>

<?php
echo $form->textField($model,'role',array('size'=>45,'maxlength'=>45)); ?>

<?php
echo $form->textField($model,'Payment_account_id_plat'); ?>

<?php
echo $form->textField($webmani,'r_purse'); ?>

<?php
echo $form->textField($webmani,'z_purse'); ?>

<?php
echo $form->textField($visa,'number_cart'); ?>

<?php
echo $form->textArea($model,'address',array('rows'=>6, 'cols'=>50)); ?>
</div>
<
div class="row4">
<?php // echo "Возникли следующие ОШИБКИ</br>" ?>
<?php echo $form->error($model,'email'); ?>
<?php
echo "</br>";?>
<?php
echo $form->error($model,'login'); ?>
<?php
echo "</br>";?>
<?php
echo $form->error($model,'password'); ?>
<?php
echo "</br>";?>
<?php
echo $form->error($model,'surname'); ?>
<?php
echo "</br>";?>
<?php
echo $form->error($model,'patronymic'); ?>
<?php
//echo "</br>";?>
<?php echo $form->error($model,'name'); ?>
<?php
echo "</br>";?>
<?php
echo $form->error($model,'paul'); ?>
<?php
echo "</br>";?>
<?php
echo $form->error($model,'telephone'); ?>
<?php
echo "</br>";?>
<?php
echo $form->error($model,'city'); ?>
<?php
echo "</br>";?>
<?php
echo $form->error($model,'address'); ?>
<?php
echo "</br>";?>
<?php
echo $form->error($model,'role'); ?>
<?php
echo "</br>";?>
<?php
echo $form->error($model,'Payment_account_id_plat'); ?>

</div>

<
div class="row_buttons">
<?php //echo CHtml::submitButton($model->isNewRecord ? 'Создать нового юзверя' : 'Save',array('name'=>'creat_user')); ?>
<?=CHtml::submitButton('Зарегистрироваться', array('id' => "submit")); ?>
</div>

<?php $this->endWidget(); ?>
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
bestxp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



орангутанг
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2004
Пользователь №: 36605
На форуме: 3 года, 9 месяцев, 17 дней
Карма: 111




напишу несколько советов

1. если это форма регистрации, то сделай минимум полей, конверсий не будет
2. что отправляется на сервер?
3. enableClientValidation => true попробуй еще добавить


--------------------
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
lodas  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 232
Пользователь №: 34378
На форуме: 4 года, 3 месяца, 25 дней
Карма:




Возникли вопросы:
Цитата
1. если это форма регистрации, то сделай минимум полей, конверсий не будет

На мой взгляд для интернет магазина все эти поля нужны, что предлагаешь выкинуть? Или создать отдельно таблицу profie?
Цитата
2. что отправляется на сервер?

Как мне это посмотреть? Если бы у меня работал отладчик было бы вообще здорово rolleyes.gif Просто не совсем понимаю как мне отследить отправляются ли какие то данные на сервер сразу после того как я заполнил input
Цитата
3. enableClientValidation => true попробуй еще добавить

Пробовал- не пашет wink.gif

P.S. А вот Firebug только что выловил такую ошибку, моет дело в ней?

Присоединённое изображение
Присоединённое изображение
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
bestxp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



орангутанг
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2004
Пользователь №: 36605
На форуме: 3 года, 9 месяцев, 17 дней
Карма: 111




с ошибкой верно, посмотри нет ли проблемы с каталогом assets core js у тебя подцепляются?

на счет полей, для регистрации нужны только 2 поля что бы индетифицировать,
ну 3

Больше просто нельзя делать, это ошибка,
остальные поля нужно заставить ввести только уже при заказе, куда и за сколько. вот увидишь конверсий будет больше,


--------------------
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
lodas  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 232
Пользователь №: 34378
На форуме: 4 года, 3 месяца, 25 дней
Карма:




bestxp, насчет количества полей понял- учту.

У меня тут аякс валидация по полям начала срабатывать, но немножко косячно. Подправил тут:
<?php echo $this->renderPartial('_form', array('model'=>$model,),[b] false, true[/b]); ?>

Валидация срабатывает, НО! При заполнении inputa как только я перевожу курсор в другой input он самопроизольно ОЧИЩАЕТСЯ!! И срабатывает валидатор что поле пусто. Отчего input может сам очищаться? Такая фича в yii есть вообще?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
lodas  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 232
Пользователь №: 34378
На форуме: 4 года, 3 месяца, 25 дней
Карма:




bestxp
Цитата
assets core js у тебя подцепляются?

Да, только поля теперь сами по себе очищаются. В какую сторону копать, как отследить почему происходит очистка?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
bestxp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



орангутанг
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2004
Пользователь №: 36605
На форуме: 3 года, 9 месяцев, 17 дней
Карма: 111




если поля очищаются, смотри не повешены ли какие эвенты на поля по классу или еще чего, может в сторонних либах?


--------------------
PMПисьмо на e-mail пользователюСайт пользователяICQ
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
lodas  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 232
Пользователь №: 34378
На форуме: 4 года, 3 месяца, 25 дней
Карма:




bestxp, посмотрел- проблему решил. Спасибо))
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса