169 похожих чатов

Добрый вечер. Подскажите пожалуйста, как на третьей вьюшке можно сделать

инпуты, которые допускают только ввод цифр, точки и запятой? Так, чтобы и при вставке какого-то текста с цифрами и без - вставлялись только цифры

7 ответов

18 просмотров

На событие keyup повесить обработчик с регуляркой, который будет превентить ввод символов, которые не прошли проверку.

это плохая идея, при таком подходе нужно обрабатывать все клавиши, а не только ввод

хз насчёт вставки, но ввод только цифр осуществляется добавлением к v-model ".number" https://ru.vuejs.org/v2/guide/forms.html#number

Computed get\set, в сеттере сделать так: set(val) { if (isValid(val)) this.value = val; this.$forceUpdate(); }

Nikita Fedorov
это плохая идея, при таком подходе нужно обрабатыв...

Ну не уверен, то плохая … На одной из конференций Vue-Mastery - одна барышня как-раз таки показывала именно этот метод, как самый оптимальный.

INME
Ну не уверен, то плохая … На одной из конференций ...

В таких случаях всегда нужно думать в духе "Сколько тестов нужно написать чтобы быть уверенным что ничего не сломалось?". Для key+prevent нужны тесты на все порождаемые события без prevent. Полагаю что 9 из 10 разработчиков не смогут даже перечислить эти события, не то что тесты написать.

Aleksandr-Belous Автор вопроса
INME
Ну не уверен, то плохая … На одной из конференций ...

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

Похожие вопросы

Обсуждают сегодня

Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
А чем вам питонисты не угодили?😂
.
79
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
Всем привет. Поделитесь, пожалуйста, опытом. Есть форма, на которой имеется dbgrid и кнопки: добавить, редактировать, удалить. Если нет записей в dbgrid, то кнопки редактирова...
Евгений
5
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Как структуру (из MSVC) в которой описаны битовые поля описать для fasm? Вот например это (fBinary...fDummy2 - это физически 1 DWORD): typedef struct _DCB { DWORD DCBlength;...
Евгений
3
type TExtensions<GExtender>=class function GetExtension<GEntityExtenderType>:GEntityExtenderType; end; function TExtensions<GExtender>.GetExtension<GEntityExtenderType...
zamtmn
9
Всем привет, препод задал вопрос, подскажите пожалуйста, какой адрес инкапсулирует указатель?
Свинка Пеппа
9
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Карта сайта