Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Этапы оброботки формы
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 16 дней
Карма: 40




Создаю велосипед в своей цмске для работы с формами. Работа с формами у меня простая, есть моделька формы, эта моделька получает объект запроса, проверяет все ли ок и гидрирует данные в конечную модель.

Потенциально я выделяю три шага при работе с формами:
1. Валидация (Validation) - проверка корректности данных (обязательность, количество символов, соответствие маска
2. Верификаци (Verification) - проверка корректности данных с точки зрения, самих данных (проверку на существование базы данных, зарегистрированого логина или мыла)
3. Гидрация (Hydration) - вливание данных из формы в конечную модель по определенному маппингу (сюда же входит и преобразование данных в формат модели)

Вопросы:
1. Нет ли путаницы с Validation и Verification, как по мне она есть;
2. Может я забыл какой-то и слоёв и в реальной жизни нужно, что-то еще?


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 11 месяцев, 8 дней
Карма: 7




Да вроде больше и ничего не нужно, но вот я, если нужно проверить есть в бд или нет
Сначала делаю 2 пункт, потом первый, а потом уже будет 3

Хотя.. Разницы особой по моему нет. Если нет ошибок в пунктах 1 и 3 то
выполняется пункт 3
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sg.com  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 141
Пользователь №: 42899
На форуме: 8 месяцев, 21 день
Карма: 3




А как же 4-ый слой, - вливание корректно - гидрированных данных из модели в "манускрипт" незыблемо хранящий верные данные для возможного последующего извлечения и понимания "образа" да сути ранее заложенного в них (в данных, data)... biggrin.gif

Это сообщение отредактировал sg.com - 31.05.2016 - 21:09
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 16 дней
Карма: 40




sg.com, это уже не входит в зону ответственности модели формы. Форма как по мне должна брать внешний источник данных, проверять его на корректность и уже настраивать модель по определенным правилам. А потому настроенную модель уже можно использовать и для сохранения, так и для бизнесс-логики.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sg.com  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 141
Пользователь №: 42899
На форуме: 8 месяцев, 21 день
Карма: 3




chee, твоя правда, но в обороты речи приходилось вчитываться, будто научная работа. Третий слой спорно к модели формы относится похоже. Ron где то писал про пять слоев, может что посоветует.

Это сообщение отредактировал sg.com - 31.05.2016 - 22:06
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1769
Пользователь №: 20757
На форуме: 6 лет, 11 месяцев, 17 дней
Карма: 185




Цитата (chee @ 31.05.2016 - 22:03)
1. Нет ли путаницы с Validation и Verification, как по мне она есть;

Может вообще не разделять? Это все валидация.
Цитата (chee @ 31.05.2016 - 22:03)
2. Может я забыл какой-то и слоёв и в реальной жизни нужно, что-то еще?

Фильтры еще стоит добавить.
А так в общем-то все как у всех. Неясно только зачем пилить еще одну реализацию, которая ничем концептуально не отличается от уже массы таких же и не привносит ничего нового, когда можно просто взять готовое.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15776
Пользователь №: 6543
На форуме: 8 лет, 3 месяца, 16 дней
Карма: 299

Трезвый :
6 лет, 26 дней


Цитата (kaww @ 1.06.2016 - 01:18)
Может вообще не разделять? Это все валидация.

Нет, это разные понятия.

Валидация, это проверка внешних данных на соответствеие требований ресурса. Допустим есть требования использовать в логине только латинские символы. Тогда логин twin валиден для него, а Игорь_Vasinsky нет. Хотя последний вполне валиден для нашего форума.

Верификация, это проверка данных на соответстве стандартов самих данных. Допустим проверка e-mail по маске - это верификация. Ибо ни на каком ресурсе не может быть признанным верным такой e-mail twin@mail@ru.

Верификация, это первый этап. Проверка данных на общие стандарты. Валидация, это проверка данных на применимость их к конкретному ресурсу.

Так что у chee есть некоторая путаница в определениях.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 16 дней
Карма: 40




Цитата (kaww @ 1.06.2016 - 05:18)
Может вообще не разделять? Это все валидация.

Дак вот в том то и дело, что в моём понимании нет.

Как проверяется логин.

1. Проверяется наличие запрещенных символов, соответствие всяким форматам и стандартам.
2. Проверка на соответствие внутренним процессам системы и бизнес логики, например существует ли такой логин в системе или нет.

Я хочу разделить эти два этапа, для их разделения нужны определения.

Цитата (twin @ 1.06.2016 - 06:31)
Так что у chee есть некоторая путаница в определениях.

Может есть, что предложить?

Цитата (kaww @ 1.06.2016 - 05:18)
Фильтры еще стоит добавить.

Что они будут делать в контексте обработки данных формы?

Цитата (kaww @ 1.06.2016 - 05:18)
А так в общем-то все как у всех. Неясно только зачем пилить еще одну реализацию

Во-первых, я не изучал другие решения, так как это долго. Во-вторых, лучше придумать своё, которое не будет конфликтовать с существующей архитектурой. В-третьих, я занимаюсь R&D, то есть изучаю новые подходы, какой прок будет в том, если я буду брать компоненты флагманских решений типа zend или symfony.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 16 дней
Карма: 40




sg.com, советовать Ron'а в качестве каких-то идеологических и концептуальных идей, это отважный поступок.

Что на счет моего слога, то извиняй, я программист и по роду деятельности использую терминологию применяемую в программировании. То что ты быстро не вдупляешь в обычные текстовки может означать две вещи: я хреново построил предложения или то что тема создана не для таких как ты.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Сколько пафоса smile.gif

P.S. Я не Ron.

P.P.S. Предлагаю эту фразу сделать внутренним мемом.
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1769
Пользователь №: 20757
На форуме: 6 лет, 11 месяцев, 17 дней
Карма: 185




Цитата (chee @ 1.06.2016 - 13:30)
Во-первых, я не изучал другие решения, так как это долго.

А вот это зря. Очень невелика вероятность того, что тебе удастся придумать что-то лучше, чем это сделала команда разработчиков того или иного популярного продукта. Банально потому, что "одна голова хорошо а две лучше". Да и вообще, перед изобретением своего велосипеда, неплохо бы оглядеться вокруг, и посмотреть на чем ездят другие, и чем конкретно тебя не устраивает это.
Цитата (chee @ 1.06.2016 - 13:30)
Во-вторых, лучше придумать своё, которое не будет конфликтовать с существующей архитектурой.

Например, компонентная архитектура того же ZF позволяет использовать его компоненты(хз как лучше написать) не накладывая никаких ограничений.
Цитата (chee @ 1.06.2016 - 13:30)
Что они будут делать в контексте обработки данных формы?

Вот что делают фильтры в ZF2/3 https://github.com/zendframework/zend-filter
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15776
Пользователь №: 6543
На форуме: 8 лет, 3 месяца, 16 дней
Карма: 299

Трезвый :
6 лет, 26 дней


Цитата (chee @ 1.06.2016 - 06:30)
Может есть, что предложить?

Ну я могу только посоветовать, как различить верификацию и валидацию.

Верификация задает вопрос "Это оно?" (Это e-mail?)
Валидация задает вопрос "Оно подходит?" (Этот e-mail уже зарегистрирован в базе?)

Некоторые вещи нельзя верифицировать, некоторые не нуждаются в валидации.

Допустим логином может быть что угодно. Это просто набор символов. Значит его нельзя верифицировать. А вот валидации у логина хоть отбавляй. Уникальность, длина, разрешенные символы, фильтр по словарю и так далее.

А вот допустим фамилию нет смысла подвергать валидации. А верификации - да. Не бывает фамилий с цифрами.

Ну и так далее.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 16 дней
Карма: 40




twin, ты ничего не предложил, я хотел прдложения по названию этапов, а не размышления про термины.


kaww, я так и не понял что такое фильтры(при быстром просмотре док), почитал в интернете, пишут что это преобразование данных. Если так, то дя этого у меня 3 этап есть.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1769
Пользователь №: 20757
На форуме: 6 лет, 11 месяцев, 17 дней
Карма: 185




Цитата (chee @ 1.06.2016 - 17:21)
я так и не понял что такое фильтры(при быстром просмотре док), почитал в интернете, пишут что это преобразование данных. Если так, то дя этого у меня 3 этап есть.

Гидратор - это механизм заполнения объекта данными. Фильтры же обеспечивают "очистку" ввода от каких-то нежелательных данных, например, пробелы, символы табуляции, html теги. Т.о. данные после фильтрации поступают на валидацию. Вот что написано по этому поводу в документации ZF2
Цитата
In the physical world, a filter is typically used for removing unwanted portions of input, and the desired portion of the input passes through as filter output (e.g., coffee). In such scenarios, a filter is an operator that produces a subset of the input. This type of filtering is useful for web
applications - removing illegal input, trimming unnecessary white space, etc.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15776
Пользователь №: 6543
На форуме: 8 лет, 3 месяца, 16 дней
Карма: 299

Трезвый :
6 лет, 26 дней


Цитата (chee @ 1.06.2016 - 10:21)
twin, ты ничего не предложил, я хотел прдложения по названию этапов, а не размышления про термины.

Всмысле не предложил...

Ладно, еще раз на пальцах.

Нет этапов. Если ты хочешь разделить проверку на валидацию и верификацию, то у них нет приоритетов одного перед другим. Так что просто можно разделить ответственности, а очередность - это как тебе больше нравится. Потому что одни данные валидируются, но не верифицируются, другие - наоборот.

Логичнее было бы первым поставить верификацию. Потому что валидаций обычно больше. Быстренько определились с общими требованиями к данным, и можно приступать к углубленной проверке - валидации.

И еще, я в очередной раз обращаю твое внимание на путаницу в терминологии. Вот это:
Цитата (chee @ 31.05.2016 - 15:03)
соответствие маска
не валидация. А это:
Цитата (chee @ 31.05.2016 - 15:03)
проверку на существование базы данных, зарегистрированого логина или мыла
не верификация.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса