![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Paul56 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 19.9.2008 Где: Екатеринбург Репутация: нет Всего: нет |
Уважаемые коллеги, доброго времени суток.
Хочется увидеть кто как и какими методами проверяет поля форм на стороне сервера (обязательные и не обязательные) ? |
|||
|
||||
| kavkaz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 26.12.2007 Репутация: нет Всего: 2 |
Как то вы абстрактно спросили. Какого рода проверка? заполнено/не заполнено? содержит/не содержит нужные/ненужные символы?
Если не ошибаюсь, то тут все специфично. Может тут помогут вам с вашей задачей если опишите её подробнее? |
|||
|
||||
| Paul56 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 19.9.2008 Где: Екатеринбург Репутация: нет Всего: нет |
Да я хотел поинтересоваться кто как и какими способами проверяет на заполнение формы.
Например просто на заполнение. Есть формы где обязательно заполнение а есть не обязательные. Чтобы разговор получился более детальным например форма регистрации на сайте: Имя Фамилия логин пароль капча ... Это сообщение отредактировал(а) Paul56 - 15.8.2009, 23:25 |
|||
|
||||
| kavkaz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 26.12.2007 Репутация: нет Всего: 2 |
пробегаетесь в цикле по списку полей и смотрите: заполнено/незаполнено
если нужно фиксировать хотя бы одно незаполненное поле, то выходите из цикла при первом же найденном пустом поле если нужно указать какие именно поля пустые, то при каждой проверке пишите ошибку ("не заполнено имя", "не указан пароль") вам модуль на cpan нужен?) |
|||
|
||||
| Paul56 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 19.9.2008 Где: Екатеринбург Репутация: нет Всего: нет |
Буду признателен, если подскажите.
Дело в том что я хотел уточнить этот метод, который вы описали. Я не знал какие модули есть на сипане для проверки форм, поэтому написал вручную и мне стало жутко интересно, как другие делают это Спасибо за ответ. |
|||
|
||||
| kavkaz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 26.12.2007 Репутация: нет Всего: 2 |
Другие делают проверки сами. На счет cpan я сказал с сарказмом.
Когда вам нужно будет обрабатывать сложные формы, вы сами уже разберетесь что вам нужнее. Вы приведите кусок кода который вас смущает, народ покритикует и вы сможете сделать выводы. Смелее |
|||
|
||||
| Paul56 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 19.9.2008 Где: Екатеринбург Репутация: нет Всего: нет |
|
|||
|
||||
| DaemonSuw |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 11.3.2008 Репутация: нет Всего: 3 |
my @ArrayMsg = qw(name fio tel cap blabla ...); - вот тут мне кажется удобнее с хешом работать
( name => 0, fio => 0, ); и т.д. 1- есть данные, 0 - нету Всякие поля типа name fio - можно еще кастомно проверять по шаблону регекспом! тогда можно использовать тот же хеш, только 0 - все хорошо "номер ошибки из словаря" - все плохо если есть ошибки не нуливые значения хеша - выводить пользователю ошибки... Словарик можно завести в базе, отдельном файле... вид его (номер ошибки => подробное описание)... Это сообщение отредактировал(а) DaemonSuw - 16.8.2009, 13:42 |
|||
|
||||
| kavkaz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 26.12.2007 Репутация: нет Всего: 2 |
Как обычно бывает, просто проверить есть/нет значение поля - мало, нужно проделать какие то действия с данными (код проверки для капчи, пароль сверить) при этом надо, чтобы при допустим неверно введенной каптчи, пароль не проверять или просто приостановить ход действий а вывести пользователю сообщение об ошибки. Для таких случаев кто то использует eval. Вот пример навскидку:
Это сообщение отредактировал(а) kavkaz - 16.8.2009, 14:08 |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 2 Всего: 17 |
CRUD
Catalyst::Controller::FormBuilder от CGI::FormBuilder Catalyst::Controller::FormFu от HTML::FormFu Catalyst::Plugin::Form::Processor от Form::Processor Rose::HTML::Form Catalyst::Plugin::CRUD CatalystX::ListFramework::Builder
BasicCRUD Это сообщение отредактировал(а) gcc - 16.8.2009, 14:25 |
|||
|
||||
| od0201 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 16.1.2009 Репутация: нет Всего: 1 |
Как это делаю я. Все ручками.
!!! Внимание !!! Код может содержать ошибки, так как был частично скопирован с других прог.
|
|||
|
||||
| Paul56 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 19.9.2008 Где: Екатеринбург Репутация: нет Всего: нет |
Благодарю, сделаю свои выводы. Спасибо всем кто принял участие в сие дискуссии
|
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 1 Всего: 40 |
perldoc Data::FormValidator
|
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |