Почему не работает этот валидатор Yii? - PullRequest
0 голосов
/ 28 марта 2012

Привет, я пытаюсь создать свой собственный валидатор форм, точно так же, как метод authenticate в LoginForm, который генерируется в конфигах по умолчанию.

    public function rules()
    {
        return array(
                // username and password are required
                array('mnemonic, target_reg, source_reg', 'required'),
                // rememberMe needs to be a boolean
                array('target_reg_indirection, source_reg_indirection', 'boolean'),

                array('mnemonic','foo'),

        );
    }

и вот метод валидатора:

    public function foo($attribute,$params){
          $this->addError('mnemonic', 'there was an error, you foo!');
      }    

это просто не работает для меня ... обратите внимание, как я добавил правило, которое не должно работать каждый раз. Я просто сделал это, чтобы я мог видеть, как это работает. Но я никогда не вижу сообщение об ошибке на мой взгляд. Валидаторы по умолчанию (например, проверяющие поля required) работают.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 13 марта 2013

У меня была та же проблема, в моем случае это была не активация ajaxValidation, а "безопасный" валидатор и другие вещи

Здесь я публикую некоторые материалы, которые помогли мне решить проблему. Надеюсь, что это поможет другим с той же проблемой.

  1. Я прочитал немного о "безопасном" валидаторе. (http://www.yiiframework.com/wiki/161/understanding-safe-validation-rules/)
  2. Я понимаю разницу между AjaxValidation и ClientValidation. (http://www.yiiframework.com/doc/api/1.1/CActiveForm)
  3. Я создал свой собственный класс валидатора. (поиск "пользовательская проверка YII" в Google).
0 голосов
/ 28 марта 2012

Поскольку не все валидаторы сопоставляются с клиентской валидатором.

В дополнение к этому я создал код для обработки проверки формы ajax и включил ajaxValidation по моему CActiveForm.

Так что теперь все прекрасно работает.Валидатор, который я создал, работает через валидацию ajax.

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