Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Валидация: не равно 0

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
uran26

цитировать



Зарегистрирован: 02 Апр 2009 12:13:49
Сообщения: 31
Откуда: Кировоград

СообщениеДобавлено: 08 Июл 2011 18:44:25    Заголовок сообщения: Валидация: не равно 0 Ответить с цитатой

Подскажите, пожалуйста, как создать правило валидации, чтобы принимало только цифры(float), но не пропускало ноль (!==0)?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 11 Июл 2011 08:53:09    Заголовок сообщения: Ответить с цитатой

А мануал, что, не помог?

http://book.cakephp.org/view/134/Core-Validation-Rules

Если поставить два правила - не работает?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
uran26

цитировать



Зарегистрирован: 02 Апр 2009 12:13:49
Сообщения: 31
Откуда: Кировоград

СообщениеДобавлено: 11 Июл 2011 21:00:58    Заголовок сообщения: Ответить с цитатой

не помог.

есть вот так:
Код:

'count' => array (
   'notEmpty_rule' => array (
      'rule' => 'notEmpty',
      'required' => true,
      'allowEmpty' => false,
      'message' => 'Не может быть "0"'
      ),
   'maxLength_rule' => array (
      'rule' => array ( 'maxLength', 6 ),
      'required' => true,
      'allowEmpty' => false,
      'message' => 'Максимум 999999'
      ),
   'minLength_rule' => array (
      'rule' => array ( 'minLength', 1 ),
      'required' => true,
      'allowEmpty' => false,
      'message' => 'Минимум 1'
      ),
   'numeric_rule' => array (
      'rule' => array ( 'numeric' ),
      'required' => true,
      'allowEmpty' => true,
      'message' => 'Только цифры'
      )
   )
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 12 Июл 2011 09:03:10    Заголовок сообщения: Ответить с цитатой

Ну есть же кастом валидация

http://book.cakephp.org/view/150/Custom-Validation-Rules

Пишешь функцию и валидируешь как душе угодно...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
uran26

цитировать



Зарегистрирован: 02 Апр 2009 12:13:49
Сообщения: 31
Откуда: Кировоград

СообщениеДобавлено: 12 Июл 2011 10:44:24    Заголовок сообщения: Ответить с цитатой

Добавил в модель в $validate:

Код:

'notNull_rule' => array (
   'rule' => 'notNull',
   'required' => true,
   'allowEmpty' => false,
   'message' => 'Не может быть "0"'
)


и в validation.php дописал новую функцию:

Код:

function notNull($check) {
   $_this =& Validation::getInstance();
   $_this->__reset();
   $_this->check = $check;

   if (is_array($check)) {
      $_this->_extract($check);
   }

   if ( $_this->check == 0 ) {
      return false;
   }
   $_this->regex = '/[^\d]+/m';
   return $_this->_check();
}


Верно ли тут?
Код:
$_this->regex = '/[^\d]+/m';
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 12 Июл 2011 11:11:41    Заголовок сообщения: Ответить с цитатой

Ну если работает, значит - верно Smile
Регекс, насколько я вижу, допускает наличие цифры - одной и больше, Если нет - значит плохо
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
uran26

цитировать



Зарегистрирован: 02 Апр 2009 12:13:49
Сообщения: 31
Откуда: Кировоград

СообщениеДобавлено: 12 Июл 2011 11:15:27    Заголовок сообщения: Ответить с цитатой

Да, по замыслу поле должно содержать одну или больше цифры.

Спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru