Yii Framework Forum: Валидация Формы - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Валидация Формы Поле которое нужно проваледировать представляет из себя массив. Rate Topic: -----

#1 User is offline   AlekseyT 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 24-October 12

Posted 24 October 2012 - 03:11 AM

Добрый день,
Возник вопрос есть модель состоящая из 4 полей
id
product_id
user_id
value 

Есть форма имеющая следующий вид, количество полей может меняться:
<input type="hidden" name="user_id[0]" value="1">
<input type="text" name="value[0]" value="10">
<input type="hidden" name="user_id[1]" value="2">
<input type="text" name="value[1]" value="50">
<input type="hidden" name="user_id[2]" value="3">
<input type="text" name="value[2]" value="10">

Нужно проваледировать что бы сумма значений полей value не превышала 100 и все поля были целые числа.

В модели написал правило
public function rules() {
		return array(
		
            array('total_value','validateValue'),
		);
	}

 public function validatePercents($attribute, $params){

        $test = $this->value;
        
    }


но $this->value равен null что я не так делаю не пойму.
0

#2 User is offline   Charger 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 317
  • Joined: 03-September 11

Posted 24 October 2012 - 04:20 AM

Раз array('total_value','validateValue'), то функция для валидации должна называться validateValue а у вас validatePercents

Ну и в самой функции, что делается, непонятно, в ней должно быть суммирование нужных полей и если уже сумма превышает 100, то
$this->addError('<fieldName>','<Текст ошибки>');

0

#3 User is offline   AlekseyT 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 24-October 12

Posted 24 October 2012 - 05:03 AM

View PostCharger, on 24 October 2012 - 04:20 AM, said:

Раз array('total_value','validateValue'), то функция для валидации должна называться validateValue а у вас validatePercents

Ну и в самой функции, что делается, непонятно, в ней должно быть суммирование нужных полей и если уже сумма превышает 100, то
$this->addError('<fieldName>','<Текст ошибки>');


Да название формы валидации написал не правильно. Спасибо за помощь!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users