Отключить / включить ключевой фильтр Primefaces - PullRequest
0 голосов
/ 03 августа 2020

У меня есть keyFilter для моего p: inputMask, я хочу отключить и включить keyFilter

<div class="col-sm-6 #{(newDesWeb eq '_')?'input-group' : ''} errorCible"  >
                <p:inputMask  inputStyleClass="#{(newDesWeb eq '_')? 'selectfile' : 'form-control lg200 input-sm'}  errorCible"
                    id="zoneResidenceAssure" styleClass="#{(newDesWeb eq '_')? 'ng-pristine ng-invalid ng-touched' : ''}  errorCible"
                    style="width: 100%"
                    value="#{devisPresBean.currentAssureDevisBean.adresseActuelle.zipCode}" maxlength="#{msg['form.control.input.codepostal.maxlength']}">
                    <c:passThroughAttribute name="fieldId" value="LIBDEVzoneResidenceAssure" />
                    <c:ajax onevent="displayAjaxSatus" event="change" execute="@this" render="@this" />
                </p:inputMask>
                <p:keyFilter regEx="/[0-9_]/i" for="zoneResidenceAssure" />
                <bpsi:message for="zoneResidenceAssure" />
                 
            </div>

Я хочу с условием отключить p:keyFilter

1 Ответ

1 голос
/ 04 августа 2020

Вы можете сделать это тремя способами:

  1. использовать отрисовку на <p:keyFilter regEx="/[0-9_]/i" for="zoneResidenceAssure" rendered="#{backing.condition()}"/>, но тогда вам нужно обновить контейнер keyFilter, будь то форма или панель при изменении условия .

  2. используйте динамическое c регулярное выражение, например <p:keyFilter regEx="#{backing.regex()}" for="zoneResidenceAssure" />, и обновляйте keyFilter при каждом изменении условия, возвращая фактический шаблон, если вы хотите, чтобы он был включен, или пустую строку, чтобы отключить его.

  3. используйте testFunction в keyFilter вместо regEx и реализуйте условие в JavaScript как тестовую функцию.

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