2016-03-23 19 views
0

Я работаю с Java и ZK. Попытка использовать регулярное выражение в качестве ограничения для текстового поля.Regex не работает в zul -ZK

Это регулярное выражение: ^[0-9]{1,9}(?:\\.[0-9]{1,3})?$. Он работает отлично в Java, но при использовании в Зула textbox, его дает ошибку: Unknown constraint: ^[0-9]{1 Пожалуйста, посмотрите на скриншот прилагается:

enter image description here

Допустимые значения regex-

121245.121(3 digits after decimal is valid) 
2145.11 
0.23 
5748579 

Недопустимые значения:

.111 
45445.454545(3 digits after decimal is valid) 
-1545.2 
22.. 

Код в zul равен b elow-

<textbox xmlns:w="client" id="bal" maxlength="12" tooltiptext="Balance" constraint="^[0-9]{1,9}(?:\\.[0-9]{1,3})?$"> 

ZK Скрипач можно найти по адресу: http://zkfiddle.org/sample/2c9e93q/2-Textbox-regex-issue

Может кто-нибудь помочь мне решить эту проблему?

ответ

1

As @RC. упоминается в ответе выше, разделители regex (/<pattern>/) обязательны для значения атрибута pattern для определения регулярного выражения. Тем не менее, ваше регулярное выражение позволит значения, такие как 67\k78, потому что \\ определяет буквальную обратную косую черту, а точка обозначает любой символ, но символ новой строки.

Правильное регулярное выражение

<textbox constraint="/^[0-9]{1,9}(?:[.][0-9]{1,3})?$/" xmlns:w="client" id="bal" maxlength="12" tooltiptext="Balance"> 
        ^   ^^^   ^

Обратите внимание, что не миновать не требуется, когда точка помещается в символьный класс [.].

См. updated fiddle.

enter image description here

1

Я не фиксировал регулярное выражение (кажется, это не работает), но использовать регулярное выражение в ограничении вы должны заключить его между /:

<textbox xmlns:w="client" id="bal" maxlength="12" tooltiptext="Balance" 
     constraint="/^[0-9]{1,9}(?:\\.[0-9]{1,3})?$/"/> 

демо: http://zkfiddle.org/sample/2bcm8bj/2-Textbox-regex-issue


от doc:

To specify a regular expression, you may have to use the character/ to enclose the regular expression as follows. <textbox constraint="/[email protected]+\.[a-z]+/"/>

 Смежные вопросы

  • Нет связанных вопросов^_^