Сейчас с помощью JS наполняю массив данными. При отправке сравниваю значение в input text с массивом. Это всё не сложно.
Вопрос. Можно ли средствами html5 прописать список разрешенных слов? Просмотрев все мануалы, не нашел такого. Можно ограничить значения регулярками, диапазоном чисел и тд. Но нигде не находит конкретно массива разрешенных строк. Не select же использовать)))
Ну или если Вы извращенец, то можно теми же регулярками в pattern запихнуть список слов :-)
Но правда в том, что это не надёжно. И datalist и pattern - кто угодно может залезть в разметку и поменять.
В JS залезть намного сложнее. Поэтому выбирайте что Вам больше подходит.
Я бы сделал регулярку в pattern атрибуте для валидации. А для удобства набора пользователем добавил datalist с возможными значениями.
Правда не факт, что делать валидацию через pattern атрибут более производительно. Зависит от вашего случая.
Но не забывайте, что в любом случае, вам нужно перепроверять данные на сервере.