Должен ли я по возможности избегать изменения пользовательского ввода перед отправкой в ​​бэкэнд? - PullRequest
0 голосов
/ 25 июня 2019

Я проверяю и дезинфицирую вводимые пользователем данные со стороны сервера.Я также проверяю это с внешнего интерфейса.Но мне интересно, должен ли я также изменить входные значения, чтобы они соответствовали требованиям сервера перед отправкой запроса.

Например, у меня есть форма с вводом текста на день рождения в формате MM-dd.Но серверу требуются значения месяца (MM) и дня месяца (dd) отдельно.Я могу отформатировать ввод в соответствии с требованиями сервера (MM и dd), или я могу просто передать значение без изменений, и сервер сделает все остальное.Какой метод рекомендуется?

1 Ответ

1 голос
/ 26 июня 2019

Этот вопрос больше связан с практиками UX, чем с самим интерфейсом.Я считаю, что перед проверкой сервера должны быть выполнены проверки внешнего интерфейса.

Вы не должны проверять, и вам определенно не следует изменять какие-либо значения во время заполнения формы пользователем.Однако обычной практикой является проверка полей на размытие.Это когда вы можете изменить значения полей.Однако я буду очень осторожен с этим, чтобы не запутать пользователя.Таким образом, удаление пробелов и т. Д. Не должно быть проблемой, но следует избегать агрессивных входных изменений.

Также попробуйте маскирование ввода для операций, подобных форматам даты.

Проверьте, например, эту библиотеку https://nosir.github.io/cleave.js/

РЕДАКТИРОВАТЬ:

В случае изменения значений перед отправкой их в бэкэнд, это совершенно нормально.Хорошей практикой является наличие некоторого слоя отображения, который будет отображать между формами пользовательского интерфейса и DTO, необходимыми для бэкэнда.Пользовательский интерфейс должен быть ориентирован на пользовательский опыт, поэтому в более сложных сценариях потребуется почти дополнительная работа почти каждый раз

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...