Дмитрий Кондин 690 Жалоба Опубликовано: December 23, 2015 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
yurijp 2 Жалоба Опубликовано: March 20, 2016 Делаю так: редактор форм-параметры-rules-Type:int,Min:10,Max:50000000000 а в объявлении максимальная цена 4 294 967 295 руб . Почему так? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: March 21, 2016 17 час назад, yurijp сказал: а в объявлении максимальная цена 4 294 967 295 руб . Почему так? Это ограничение базы данных. Если вам нужны большие значения в базе, тогда надо менять тип поля в таблице re_data поле price Тут подробнее о типах http://dev.mysql.com/doc/refman/5.7/en/integer-types.html Как вариант вместо INT поставить BIGINT ALTER TABLE `re_data` CHANGE `price` `price` BIGINT(255) NULL DEFAULT NULL; Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
yurijp 2 Жалоба Опубликовано: March 21, 2016 ALTER TABLE `re_data` CHANGE `price` `price` BIGINT(255) NULL DEFAULT NULL; Это работает, спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: March 21, 2016 В 20.03.2016в15:00, yurijp сказал: Делаю так: редактор форм-параметры-rules-Type:int,Min:10,Max:50000000000 а в объявлении максимальная цена 4 294 967 295 руб . Почему так? Нескромный вопрос, а вы на своем сайте продаете США с потрохами и его национальным долгом в $19 350 000 000 000 ? А цену надо показать в рублях? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: May 7, 2016 требуется уточнение некоторых важных моментов решили вписать rules=Type:int,Min:1,Max:25 таким образом ограничить этажность от 1этажа до 25 (так как ни зданий ни квартир 0этажности ведь нет ) да и ведь пользователь к примеру может просто криворуко забить объявление этаж поставить 0 а всего этажей 3 например -или наоборот мол этаж 3 а всего этажей 0 для этаж и этажей, однако если поставить 0 и в этаж или в этажность то правило не действует почему то поэтому не важно что так написать rules=Type:int,Min:1,Max:25 что так rules=Type:int,Min:0,Max:25 действие одно и тоже происходить можно НОЛЬ вписать и при одном правиле и при другом что не так ? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: May 7, 2016 и еще вопросик а как сделать для площади запись типа просто 35,6 кв метров -то есть не целое число а 35целых6десятых ну например квартирка у кого то такая по правилу вроде так должно быть -но не уверены правильно ли ? rules=Type:decimal,Min:3,Max:100 то есть вместо int применяем decimal ? А как быть если мы хотим например номер дома тоже ограничить от написания словами? вроде как было возможно поставить правило int минимум 1 максимум 2000 но тут загводка а как быть с буквенными домами? например 105Б или 223В или 156корпус1 хотелось бы максимально защититься от круворуких объявлений Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: May 7, 2016 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: May 9, 2016 В 07.05.2016 в 00:38, doma сказал: ... решили вписать rules=Type:int,Min:1,Max:25 таким образом ограничить этажность от 1этажа до 25 (так как ни зданий ни квартир 0этажности ведь нет ) ... Открою секрет, если будет подразумеваться выгрузка с сайта на сторонние порталы, указывается не только "0" - (цокольный этаж), но и "-1", "-2" и другие отрицательные значения - подземные этажи (технические, паркинги, машиноместа и прочие). Так-что не стоит ограничиваться диапазоном 1-25 В 07.05.2016 в 00:38, doma сказал: ... пользователь к примеру может просто криворуко забить объявление этаж поставить 0 а всего этажей 3 например -или наоборот мол этаж 3 а всего этажей 0 ... 1-й вариант будет правильным, 2-й - нет, задайте условие, чтобы этажность была равной или больше значения этажа. В 07.05.2016 в 01:02, doma сказал: и еще вопросик а как сделать для площади запись типа просто 35,6 кв метров -то есть не целое число а 35целых6десятых ну например квартирка у кого то такая по правилу вроде так должно быть -но не уверены правильно ли ? rules=Type:decimal,Min:3,Max:100 то есть вместо int применяем decimal ? Не писать никаких условий, пользователь сможет задать любые значения - 35.6 или 35,6 или 35целых6десятых В 07.05.2016 в 01:02, doma сказал: А как быть если мы хотим например номер дома тоже ограничить от написания словами? вроде как было возможно поставить правило int минимум 1 максимум 2000 но тут загводка а как быть с буквенными домами? например 105Б или 223В или 156корпус1 И здесь тоже без условий, иначе буквы указать не получится. Второй вариант, если номер дома оставить с правилом, но прикрутить отдельную позицию "Литер" и букву дома указывать в ней (лишняя на мой взгляд заморочка). 1 Дмитрий Кондин reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: May 10, 2016 9 часов назад, Chernetskiy сказал: Открою секрет, если будет подразумеваться выгрузка с сайта на сторонние порталы, указывается не только "0" - (цокольный этаж), но и "-1", "-2" и другие отрицательные значения - подземные этажи (технические, паркинги, машиноместа и прочие). Так-что не стоит ограничиваться диапазоном 1-25 начнем с возражений :))) мы понимаем что такое может быть, но с точки зрения эрудиции и нормативных актов, не бывает дома к примеру с отрицательной этажностью. Эти так называемые "народные обозначения" вносят смуту в логические выражения, это как примерно написать "куплю машиноместо или квартиру на минус первом этаже" :)). В нормативных документах если и бывают "минус этажи" то пишут со встроенными не жилыми подвальными помещениями или же со встроенными подземными машиноместами. 9 часов назад, Chernetskiy сказал: 1-й вариант будет правильным, 2-й - нет, задайте условие, чтобы этажность была равной или больше значения этажа. подскажите как сделать и что и где написать 9 часов назад, Chernetskiy сказал: Не писать никаких условий, пользователь сможет задать любые значения - 35.6 или 35,6 или 35целых6десятых а вот тут опять двояко -либо дать возможность писать словами либо писать все же дробью. Так как например написав площадь словами - объявление например не будет найдено через поиск. И скорее всего еще одна загвоздка будет-если к примеру выгружать куда то на сайты Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: May 10, 2016 4 часа назад, doma сказал: начнем с возражений :))) мы понимаем что такое может быть, но с точки зрения эрудиции и нормативных актов, не бывает дома к примеру с отрицательной этажностью. Эти так называемые "народные обозначения" вносят смуту в логические выражения, это как примерно написать "куплю машиноместо или квартиру на минус первом этаже" :)). В нормативных документах если и бывают "минус этажи" то пишут со встроенными не жилыми подвальными помещениями или же со встроенными подземными машиноместами. В домах не указывается отрицательная этажность. Однако указывается при указании этажа. Это международная практика и не знаю, как в деревне Гадюкино, а в Москве и в Подмосковье это работает и это понятно населению. Вы, входя в лифт современного здания и желая опуститься в подземное банковское хранилище или на подземную парковку ткнёте в кнопку "-1", "-2", "-3" или будете спорить с лифтом, читать Постановления СССР, ГОСТ, техническую документацию к лифту и пойдете в итоге пешком? Если я пожелаю продать своё машиноместо на -1 этаже (а это отдельный объект недвижимости), что мне надо будет указать в объявлении, что я продаю квартиру на 25-м этаже и прилагаю к ней машиноместо в подвале? А если будет сдаваться торговая площадь в метро, будете продавать метро оптом? А еще (в Москве точно) существуют подземные объекты недвижимости без положительной этажности - торговые центры, паркинги, кинозалы и прочие... Решать конечно вам, но в ГОСТах, например, нет информации об электронной почте или мобильниках, их тоже с сайта уберете а общение с клиентом переведете на голубиную почту? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: May 10, 2016 Да, хотел уточнить, с нулевым этажом я приврал, цокольный этаж указывается как "-1", подвал указывается как "-2", "-3" и т.д., в зависимости от количества этажей вниз. Такие требования применяются на ряде порталов недвижимости, включены в формат выгрузки XML для Afy.ru и на других порталах. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: May 10, 2016 не станем с вами спорить, так как возможно уверены " все" , так как какждый решает для себя что на кнопочке на лифте написать у нас к примеру бабушка продает дом на 125 этаже-верить ли ей? а еще есть дом 2 этажный так там вообще квартира на минус 10 этаже продается. вот только что то показать отказываются Вопрос не в том как обозвать этаж и сделать правильно, а как минимизировать и ошибки ввода этажности для криворуких пользователей и просто хулиганов, но еще и "алгоритм в коде" правильно воспринимал и обрабатывал. Кстати ради эксперимента найдите на столь популярном ав_то этажи или что то другое на минус 1-2-3 этажах ссылки лучше в личку-так как другим это не интересно Относительно емайлов и мобильников ни кто не мешает указать -желаете купить квартиру -пишите телеграмму-но речь вы понимаете не про это можно же написать собственник моя бабушка, я ей перезвоню уточню, потом папке, потом старшему брату, потом вам главное в алгоритме-минимизировать риски, а не ороться с ними Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: May 10, 2016 Я говорю не о том, что бабушка или укурыш может написать, человеческий фактор никуда не денешь. Я только изложил, как это работает на практике, на сторонних порталах и это должно быть учтено при выгрузке своих объектов файлом XML (требования к файлу выгрузки). Вот например требования AFY.ru <parameters> - Родительский элемент для описания дополнительных параметров <story> - Дочерний элемент тега parameters. Этаж объекта (целое число). Также доступны отрицательные значения. Подвал – значение тега «-2», Цоколь – значение тега «-1» <story_count> - Дочерний элемент тега parameters. Этажность объекта (целое число) Если на каком-то сайте нет таких параметров как этаж "-1", "-2", то присутствуют "цоколь" и "подвал"... в любом случае у них одинаковый смысл а возможно и конвертация одного названия в другое при обмене базами в формате XML. Вы собирались указывать только числовые значения, то отрицательная этажность как вариант, или оставляйте на усмотрение пользователя, который будет писать -1 или цоколь, после чего запутаетесь сами, запутаете остальных да и поиск будет работать через пень-колоду. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: May 10, 2016 ок придем к общему значению -исходя из вышеприведенных доводов праивльнее будет указывать этаж например от минус 3 до +25 то есть минимальный этаж "-3" масимальный этаж "25" но вот будет ли так действовать правило? если уж обозначать правило для этажа как целое число от и до, чтоы не давать возможность ввести слова "четырнадцатый" так же у нас было предложение вместо сейф_стринг этаж например сделать селект_бокс то есть уже готовые шаблоны для пользователя, чтобы у него не было возможности кроме как выбрать-вместо вписать как вы считаете -что разумнее и как правильнее более подроно: у вас есть возможность при подаче объявления как пользователь не вписать значение этаж и этажность, а только выбрать из имеющихся значений, но тут другая сторона медали. Если производительность -то лучше в поле хранить просто значение одного поля, нежели когда селект бокс -перебирать для базы например все 25 этажей, с другой стороны к примеру проще обрабатывать базу например выбрав однозначные данные например только 23 этажи, вмесо вариантов -двадцать3этаж или двадцатрытий этаж или 23энтаж Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: May 13, 2016 В 10.05.2016 в 18:38, doma сказал: вместо сейф_стринг этаж например сделать селект_бокс В плане юзабилити пальма у селекбокса, так как там можно не только ввести отрицательные значения, но и указать их человеческими словами {-2~~подвал}...{1~~1}{2~~2}. Да и людям он понятнее. в плане оптимальности - сейвстринг. поскольку селекбокс - это встроенный элемент-такой который "все свое носит с собой". если много вводят люди и колоссальных по объему выборок не делается, то может быть селект. если все импорты или большинство идут с парсингов, то сейвстринг. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: May 13, 2016 единственное требование - это реально меньше свободы пользователям. любыми способами. даже не говоря о тетях "с улицы", но и "профессиональные" риелторы способны написать самое разнообразное там, где это не запрещено) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: May 13, 2016 4 минуты назад, abushyk сказал: В плане юзабилити пальма у селекбокса, так как там можно не только ввести отрицательные значения, но и указать их человеческими словами {-2~~подвал}...{1~~1}{2~~2}. Да и людям он понятнее. в плане оптимальности - сейвстринг. поскольку селекбокс - это встроенный элемент-такой который "все свое носит с собой". если много вводят люди и колоссальных по объему выборок не делается, то может быть селект. если все импорты или большинство идут с парсингов, то сейвстринг. да и в большинстве случаев при парсинге будут нормальные значения от минус2 до +25 в осномном -это именно про этаж а не этажность :)) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: May 13, 2016 Цитата да и в большинстве случаев при парсинге будут нормальные значения вот именно что в "большинстве". в этом еще один плюс правил на элементе в отличии от селектбокса. селект применяется только на форме. выставив для него разрешенные значения вы просто запрещаете пользователю выбрать недопустимое. но селать пост-запрос с "кривыми" значениями или при парсинге, где формы нет, а сразу есть готовые значения, и селект уже не сработает, в отличии от правил, которые проверяются перед самим процессом сохранения. так что селект - это больше интерфейсное ограничение, а правила - внутреннее. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: May 13, 2016 1 час назад, abushyk сказал: вот именно что в "большинстве". в этом еще один плюс правил на элементе в отличии от селектбокса. селект применяется только на форме. выставив для него разрешенные значения вы просто запрещаете пользователю выбрать недопустимое. но селать пост-запрос с "кривыми" значениями или при парсинге, где формы нет, а сразу есть готовые значения, и селект уже не сработает, в отличии от правил, которые проверяются перед самим процессом сохранения. так что селект - это больше интерфейсное ограничение, а правила - внутреннее. все это понятно и правильно но мы про то что, например при парсинге редкобудет этаж или этажность не числовым, а если даже и будет то в ДАТА не внесется так как не будет совпадений, таким образом минимизируются возможные ошибки при парсинге, а если сделать сейфстринг то туда может занестись любое значение и кол-во ошибок увеличивается Пример 3этаж можно написать "этаж № 3" "3этаж" "3 этаж" "3-й этаж" и так далее, хотя по факту это одно значение :)) так что пусть выбирают а не вписывают правильно ли мы поняли вышенаписанное что если например у нас этаж минимум1 максимум5 выставлено и селект бокс стоит, то если при парсинге будет этаж 8-цифрой, то в дата ничего не занесеться? или занесеться этаж 8-цифрой? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: May 13, 2016 5 минут назад, doma сказал: апример у нас этаж минимум1 максимум5 выставлено и селект бокс стоит, то если при парсинге будет этаж 8-цифрой, то в дата ничего не занесеться? или занесеться этаж 8-цифрой? занесется. селект как двери, защищает только входной проем, но не поможет, если вы залезли через окно. но кстати можно его использовать и для проверки. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: May 13, 2016 5 минут назад, doma сказал: правильно ли мы поняли вышенаписанное что если например у нас этаж минимум1 максимум5 выставлено и селект бокс стоит, то если при парсинге будет этаж 8-цифрой, то в дата ничего не занесеться? или занесеться этаж 8-цифрой? Если парсинг не делает предварительной проверки на соответствие того, что сливает напрямую в базу, то в базу запишется 8 (поскольку в обход сайта) а на сайте ничего не покажется, поскольку нет соответствия в селектбоксе. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: May 13, 2016 2 минуты назад, abushyk сказал: занесется. селект как двери, защищает только входной проем, но не поможет, если вы залезли через окно. но кстати можно его использовать и для проверки. это как это для проверки? и как пишет Игорь в базу занесется 8этаж, но вследствии того что нет соответствия то ничего не отобразиться. Следовательно вопрос, а если спустя время добавить соотвествие например сделать этаж от 1до9 то автоматом -все корректно будет работать-или возможен глюк? и еще -главного ответа вроде не было -как правила то писать? рулес=инт,мин "-2", макс "+9" ???? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: May 13, 2016 Цитата то в базу запишется 8 (поскольку в обход сайта) не совсем в обход, поскольку стандартная проверка данных, которая включает в себя проверку по правилам rules, обычно применяется. пропущен только пункт который собирает данные из запроса по полям с помощью модели - фактически работа с формой. Но базовые низкоуровневые проверки такие как "непустота", "обязательность" применятся. по крайней мере насколько я помню почти все добавления в общеупотребительных местах идут через стандартный интерфейс. На сайте не отобразится тоже местами. Там где для вывода используется модель - карточка, похожие и данное берется из .value_string то не покажется. А вот если запросить значение .value то там как раз будет то самое которое пришло из парсинга. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: May 13, 2016 10 минут назад, doma сказал: как правила то писать? рулес=инт,мин "-2", макс "+9" ???? Type:int,Min:-2,Max:9 плюс не мешает, но можно не писать. но это правило будет значить любое значение от -2 до 9 целое, и ноль. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах