Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 05 июл 2025, 19:51

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: 15 сен 2012, 11:12 
Не в сети
Бывалый

Зарегистрирован: 11 июл 2012, 00:30
Сообщения: 31
Валидация - как изменять сообщения об ошибках прям внутри кода, где мне нужно, т.к. оно не склоняет слова и получается полная чуш ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 сен 2012, 18:12 
Не в сети
Супермодератор
Аватара пользователя

Зарегистрирован: 13 фев 2012, 22:24
Сообщения: 65
Откуда: оттуда
Переписать ошибки в массиве $errors


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 окт 2012, 02:46 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 02 окт 2012, 21:09
Сообщения: 29
Допустим у Вас есть валидатор с такими правилами:

Код:
$validation = Validation::factory($_POST)
   ->rule('email', 'not_empty')
   ->rule('email', 'email')
   ->rule('country', 'Model_Country::country_exists');



Тогда Вам нужно создать файл сообщений в директории application/messages/my_validator.php:

Код:
<?php

defined('SYSPATH') or die('No direct script access.');

return array(

    'email' => array(
        'not_empty' => 'Введите email',
        'email' => 'Введите правильный email',
        'default' => 'Введите другой email',
    ),
    'country' => array(
        'Model_Country::country_exists' => 'Такого города нету',
         'default' => 'Введите другой город',
    ),
   
);



То есть общий формат такой:

Код:
<?php

defined('SYSPATH') or die('No direct script access.');

return array(

    'имя поля формы' => array(
        'название правила указанного в rule() для данного поля' => 'текст ошибки',
        'default' => 'Значение по умолчанию',
    ),
   
);



Потом передаете этот файл валидатору при получении ошибок:

Код:
$validation->errors('my_validator');


В итоге получаете массив с ключами в виде 'имя поля формы' => 'текст ошибки по не пройденному правилу'
Например:
Код:
Array ( [email] => Введите email [country] => Такого города нету)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 окт 2012, 20:44 
Не в сети
Супермодератор
Аватара пользователя

Зарегистрирован: 13 фев 2012, 22:24
Сообщения: 65
Откуда: оттуда
вотт только проблем со склонением это не решит


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 окт 2012, 23:09 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 02 окт 2012, 21:09
Сообщения: 29
Решит, Вы сами все склоняете.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group