ограничить ввод номеров

  • Автор темы oleg7
  • Дата начала
O

oleg7

#1
Подскажите, подалуйста. Как ограничить формат ввода телефонных номеров в поле, т.е. можно было вводить только в виде +3 8 (ххх) ххх хх хх
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#2
Читай про @Matches.
Делаешь проверку в Input Validation.
 
O

oleg7

#3
делаю вот так
Код:
@If(@Matches(назвПоля;"\\+38 {0-9}{0-9}{0-9} {0-9}{0-9}{0-9} {0-9}{0-9} {0-9}{0-9}"); @Success; @Failure("неверный формат"))
а можно как-то добавить туда скобочки ()?


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

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#4
Скобочки тоже так пиши: {(} и {)}
Про пробелы не понял. Просто убери их и не будут учитываться.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
17
#5
@ReplaceSubstring(назвПоля; " "; "") - перед передачи в матч удали пробелы и всё будет типтоп
 
O

oleg7

#6
возникла теперь такая проблема. Надо, чтобы можно было вносить в поле несколько номеров.
Делаю поле Allow multiple values, на третей закладке свойств поля выбираю New Line в Separate values when user enters и Display separate values with.
но теперь получается, что когда вносишь первый номер, то проверка работает, потом нажимаешь энтер и вводишь второй номер и проверка уже не срабатывает. Что делаю не так?
 

Omh

Lotus team
04.07.2007
2 210
1
#8
Или проверку всех значений на QuerySave с помощью Like.
----------------
И вообще, надо отделять отображение (поля) от логики (библиотеки).
Скорее всего, у тебя на форме будут ещё какие-то проверки и будет неудобно, если каждая проверка будет в своём поле.
Поэтому я всё-таки советовал бы сделать ф-ию валидации, которую вызывать в нужном месте (QuerySave или где там ещё), что бы все проверки были централизованы, а не раскиданы по полям.

Хотя InputTranslation я зачастую использую - по'trim'ать что-то или в этом роде, но вот когда проверка написана в InputValidation меня начинает потряхивать :)
 

Kizarek86

Lotus team
20.07.2007
864
4
#9
Ещё как вариант под номер телефона можно сделать шаблон из нескольких полей, при сохранении составлять из них номер в единое поле, а те удалять.
 
O

oleg7

#10
спасибо за ответы.
kizarek очень красиво звучит, но боюсь что не осилю :)