Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
Watched Topics
FAQ
Поиск
Пользователи
Группы
Регистрация
Профиль
Войти и проверить личные сообщения
Вход
Список форумов Cake-PHP.ru
->
Общий
Ответить
Имя
Тема
Сообщение
Смайлики
Дополнительные смайлики
Цвет шрифта:
По умолчанию
Тёмно-красный
Красный
Оранжевый
Коричневый
Жёлтый
Зелёный
Оливковый
Голубой
Синий
Тёмно-синий
Индиго
Фиолетовый
Белый
Чёрный
Размер шрифта:
Размер шрифта
Очень маленький
Маленький
Обычный
Большой
Огромный
Закрыть теги
[quote="uran26"]на сколько, я помню $useTable используется в модели. в контроллере не нужно каждый раз проверять существование поля, я просто пример привел. мне такое помогает если в модели есть правила валидации для всех полей таблицы, и несколько форм с разным набором полей.[/quote]
Настройки
HTML
ВЫКЛЮЧЕН
BBCode
ВКЛЮЧЕН
Смайлики
ВКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Отключить в этом сообщении смайлики
Если у вас плохое зрение или вы не можете прочесть этот код по какой-то другой причине, то обратитесь за помощью к
Администратору
.
Код подтверждения: *
Введите код в точности так, как вы его видите. Код является регистро-зависимым, а символ нуля имеет косую линию внутри цифры.
Часовой пояс: GMT + 3
Перейти:
Выберите форум
CakePHP Форум
----------------
Общий
Установка и настройка
Творчество
Вопросы и пожелания
Комментарии к главам руководства по CakePHP 1.1
Обзор темы
Автор
Сообщение
uran26
Добавлено: 08 Авг 2010 14:34:28
Заголовок сообщения:
на сколько, я помню $useTable используется в модели.
в контроллере не нужно каждый раз проверять существование поля, я просто пример привел. мне такое помогает если в модели есть правила валидации для всех полей таблицы, и несколько форм с разным набором полей.
Лёха
Добавлено: 07 Авг 2010 21:38:38
Заголовок сообщения:
Вопрос решен
Лёха
Добавлено: 07 Авг 2010 18:43:03
Заголовок сообщения:
1. Изначально так поставил, менять не стал.
2. Контроллером не используется ни одна таблица. Если ничего не указать, то CakePHP будет пытаться найти таблицу Contact
3. Уже потом поменял
Вопрос решил почти сразу, понял как и что.
У меня другой вопрос:
Валидация не выдаст ошибок, если этих переменных вообще не инициализировано, в контроллере каждый раз проверять на наличие поля? А если их 20
uran26
Добавлено: 06 Авг 2010 19:09:01
Заголовок сообщения:
Разрешите поинтересоваться:
1) Почему имя контроллера "ContactController", а не "ContactsController" ?
2) Зачем в контроллере переменная $useTable?
3) Почему в виде имена полей с маленькой буквы data[contact][subject]? возможно с большой data[Contact][subject]?
Если мне нужно было пропустить валидацию некоторых полей, то я делал так (в нужном действии контроллера перед самой валидацией):
Код:
unset ($this->data['User']['last_login']);
Лёха
Добавлено: 05 Авг 2010 22:01:22
Заголовок сообщения: Валидация данных
1. Как использовать валидацию на одной моделе, если несколько разных форм
2. Почему не работает валидация на таком примере:
В моделе:
Код:
class Contact extends AppModel {
var $useTable = false;
var $validate = array(
'email' => 'email',
'message' => VALID_NOT_EMPTY,
'subject' => VALID_NOT_EMPTY
);
}
В Контроллере:
Код:
class ContactController extends AppController {
var $useTable = false;
function index() {
if ($this->data) {
if ($this->Contact->validates($this->data)) {
echo 'TRUE';
} else
{
echo '<b><big>FALSE</big></b>';
}
}
}}
В view:
Код:
<form name="" action="" method="post">
<table border=0 align="center" cellspacing="1" bgcolor="#DEEAFE" cellpadding="1" style="border-style:solid; border-width:1px; border-color:#04388E">
<tr><td bgcolor="#4E8EFA" style="padding:10px; color:white;" colspan=2><b>Contact iBlogTalk</b></td></tr>
<tr>
<td style="padding:10px;" align="right" width="150">Your e-mail address</td>
<td><input name="data[contact][email]" type="text" value="<?php echo htmlspecialchars($this->data['contact']['email']);?>"></td>
</tr>
<tr>
<td style="padding:5px;" align="right">Subject</td>
<td><input name="data[contact][subject]" type="text" value="<?php echo htmlspecialchars($this->data['contact']['subject']);?>"></td>
</tr>
<tr>
<td colspan=2 style="padding:5px;">Message<br /><textarea name="data[contact][message]" rows=10 cols=70 wrap="off"><?php echo htmlspecialchars($this->data['contact']['message']);?></textarea></td>
</tr>
<tr><td colspan=2 align="center"><input type="submit" name="submit" value=" Send "></td></tr>
</table>
</form>
[/quote]
Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB
Если ничего интересного не нашли, можно рекламу почитать, а рекламируется у нас сегодня «».