Bizibah Павел Гуров

Ограничение выбора вариантов

Регистрация домена в зоне .cat разрешает до десяти синонимов имени. Как показать реселлеру таблицу соответствий символов ICANN и не дать выбрать лишнего.

в ЖЖ 2 минуты чтения веб

При регистрации .cat доменов, разрешается использовать до 10 синонимов для зарегистрированного имени. Варианты синонимов генерируются на основе таблицы соответствий символов ICANN:

U+00E0 àU+0061 a
U+00E7 çU+0063 c
U+00E8 èU+0065 e
U+00E9 éU+0065 e
U+00ED íU+0068 i
U+00EF ïU+0068 i
U+006C l U+00B7 · U+006C lU+006C l U+002D — U+006C l
U+00F2 òU+006F o
U+00F3 óU+006F o
U+00FA úU+0075 u
U+00FC üU+0075 u

Задача: встроить в интерфейс регистрации домена блок, который бы позволял регистрировать синонимы домена.

Реализация

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

Небольшая проблема возникает, если введенное имя достаточно длинное. Генерируемое количество вариантов может быть очень большим, что неудобно в использовании, неопрятно выглядит и заставляет тормозить браузер. Логично предположить, что нужно показывать только часть вариантов и добавить еще поле ввода недостающих вариантов. Можно было бы добавить textarea для ввода вариантов, но такой ход потребует сразу скрипт для валидации введенных значений, что будет совершенное излишним. Поэтому можно ограничиться обычным input’ом. Input следует показывать, если вариантов больше 30, большее количество чекбоксов уже тяжело для восприятия.

b1_2

Подсказка для вводимого значения находится в placeholder. После нажатия на кнопку Add, значение из input’а добавляется в общий список.

b1_3

Введеные варианты имени во время регистрации домена дополнительно будут валидироваться на стороне сервера.