Покупатели вбивают в поле город всякую муть, типа «Киев склад №25», или «Киевская область, смт. Василив, дом. 24, кв. 17».
Проблема в том, что поле город используется в плагинах доставки, и все они завязаны на API (делают запрос к серверу, получают список отделений, и стоимость доставки). В нашем случае, сервера отвечают отказом, т.к. нету города с названием «Киев склад №25».
Может у кого-то завалялась регулярка, которая чистит поле город от пробелов, первой запятой, и прочего?
Желательно чтобы учитывались украинские символы, а также не фильтровались такие города как «Каменец-Подольский».
danforth: "но у меня не получится так сделать" - т.е работа с API, регулярки и т.д это легче чем найти плагин вроде select2.github.io и интегрировать его? Ну ок.
D' Normalization: только регулярки. У меня в движке поля город, страна, и прочее - выводятся через системные классы. Т.е. я не смогу физически заставить поле город работать как выпадающий список (кроме как отредактировать сам фреймворк), который, в свою очередь, обновляется раз в два месяца, и потом мне придется вносить все изменения заново. Это первая проблема. Вторая - найти список городов Украины (актуальный). В добавок ко всему, я больше разбираюсь в PHP (часть про регулярки не учил), отсюда: написал сам плагин доставки + API. В js не разбираюсь, к сожалению, поэтому реализовать у меня ваш вариант не получится.
danforth: Какая печальная история. Проблема в дизайне формы, в которую юзеры вместо города пишут полный адрес.
Это решается автокомплитом, либо select+автокомплит.
Чистить город регуляркой... какая-то странная затея. А если город называется "Красноярск 26", его как чистить?