Цель: Возможность скрыть/замаскировать подстроку поля ввода текста, не влияя на нг-модели переменнойУгловая (v1) директива, чтобы замаскировать (от дисплея, а не модель) любые случайные подстрок в поле ввода текста
Пример:
<input type="text" placeholder="enter URL" ng-model="input.url" mask="dilbert">
Если пользователь вводит admin:[email protected]
то дисплей показывает admin:*******@mylocation.host.com
в то время как $ scope.input.url будет содержать admin:[email protected]
возможно ли это? У меня есть ситуация, когда мне просто нужно скрывать пароль внутри URL-адресов при отображении форм, если пользователь вводит его. Обходным путем является сохранение переменной отображения и клонированной фактической переменной, но это не очень элегантное решение.
Дополнительная мотивация объяснено (обратиться комментарий WilliamB в ниже)
Это требование для мобильных приложений, который требует URL, который необходимо настроить. Этот URL может включать основные AUTH полномочия, если пользователь настроил сервер бэкэнда использовать базовую авторизацию (Каждый пользователь этого мобильного приложения использует свой собственный сервер)
аск
а) Когда отображается поле URL, но не редактируется, пароль маскируется, не затрагивая модель переменной
б) Чтобы сохранить Тхи s просто, когда поля URL редактируются, пароль отображается как обычный текст (в фокусе)
c) mask='string'
ask был упрощением. На самом деле, это UseCase, вероятно, будет mask
директивой и если он подключен к текстовому полю ввода, будет маскировать текст пароля при входе в формате url://user:[email protected]/path
Я понимаю, что это только базовая маскировка - но его мобильное приложение, и очень немногие люди начнут рассекать DOM, чтобы посмотреть, что замаскировано
Lovely. Я буду погружаться больше завтра утром - один вопрос, который я вижу, - если я попытаюсь отредактировать ввод текста после того, как он преобразует dilbert в *******, (скажем, удалить t), значение модели станет все звёзды вместо dilber – user1361529
Yup проверяется - каждый раз, когда вы редактируете, «*» перезаписывает переменную ng-model, которую мне нужно избегать. – user1361529
. Я думаю, что поведение, которое вы описываете, не полностью сведено. что, если вы начнете обратный сдвиг, или что, если вы введете середину символов «*», то что должно произойти с моделью и маскировкой? Почему вы маскируете эти символы, но отображаете текст в HTML через 'mask =" dilbert "?Если вы описываете свой фактический вариант использования, возможно, более разумный вариант, например, маскирование всего поля с помощью 'type =" password "' –