Дмитрий Кондин

Установка проверки граничных значений в формах

Recommended Posts

В 31.01.2017 в 01:15, abushyk сказал:

Если вас устраивает молчаливый режим, когда оно будет записывать в базу то, что удастся выжать числового из переданного значения, то можно только базой. Если же это поле вам важно и вы хотите что бы юзер получал предупреждение при попытке задать "левое" значение, тогда лучше rules и Type:int.

Последний способ отличается только тем, что по нему проходит проверка значения и, если оно неформат "5 сот.", "5.0", "пять соток" то форма будет возвращена на дозаполнение. А изменение формата поля в БД приведет к тому, что значение будет принято всегда, но вот в БД останется только то, что подходит под формат колонки в базе "5 сот."=>"5", "5.0"=>"5", "пять соток"=>"0", тогда как rules будут заворачивать форму до тех пор, пока пользователь не введет реальное целое число.

И,что главное, rules не изменяют переданные значения, а только обуславливают их формат и соотвествие ему (кроме decimal который с крайней версии будет вместе с проверкой еще и заменять запятую в числе на точку). Т.е. речи об осмысленном вырезании нет ни в одном из этих случаев.

ПС. Я долго боролся с человеками подсказаками при заполнении и в результате проставил rules на выжных для меня полях расстояний и площадей + выставил форматы колонок в БД на соотв. (это из соображений экономии памяти, така как числовой формат более худой, быстроты сортировки, так как сортировка по числам лучше и адекватнее чем по строкам, и потому что у меня много данных идет с парсеров и прогонять их через сложные проверки с созданием объекта формы не всегда выгодно по производительности).

Нужен совет

У нас в 

price rules=Type:int,Min:5000

square_all rules=Type:decimal

Очень выручает

Возможно ли как то сопоставить

этажи (floor и floor_count)

и

площади (square_all, square_live и square_kitchen)

 

А то Яндекс и ЦИАН иногда бракует объявления по этим причинам:

1) Общая площадь объекта не должна быть меньше суммы площадей кухни и жилой площади.

2) Этаж объекта недвижимости должен быть меньше или равен этажности здания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас