PasswordField

PasswordField – это текстовое поле, которое вместо символов, введенных пользователем, отображает эхо-символы.

XML-имя компонента: passwordField.

Основы

PasswordField в основном аналогичен компоненту TextField, за исключением того, что ему нельзя установить datatype. То есть PasswordField предназначен для работы только с текстом и строковыми атрибутами сущностей.

Пример PasswordField:

<passwordField id="passwordField"
               caption="Secret password field"/>
@Autowired
private PasswordField passwordField;
@Autowired
private Notifications notifications;

@Subscribe("showPasswordBtn")
protected void onShowPasswordBtnClick(Button.ClickEvent event) {
    notifications.create()
            .withCaption(passwordField.getValue())
            .show();
}
password field

Атрибуты

  • Атрибут autocomplete позволяет включить сохранение паролей в веб-браузере. По умолчанию отключено.

  • Атрибут capsLockIndicator принимает id компонента CapsLockIndicator, который отображает состояние клавиши Caps Lock при вводе пароля.

Валидация

Для проверки введенных в компонент PasswordField значений можно использовать валидатор во вложенном элементе validators.

Для PasswordField доступны следующие предопределенные валидаторы:

В приведенном ниже примере показано использование SizeValidator для passwordValidField:

<passwordField id="passwordValidField"
               caption="Secret password field">
    <validators>
        <size max="10" min="4"/>
    </validators>
</passwordField>

События и слушатели

Чтобы сгенерировать заглушку слушателя в Jmix Studio, выберите компонент в XML-дескрипторе экрана или на панели иерархии Jmix UI и используйте вкладку Handlers на панели инспектора Jmix UI.

В качестве альтернативы вы можете воспользоваться кнопкой Generate Handler на верхней панели контроллера экрана.

ContextHelpIconClickEvent

Validator

Добавляет экземпляр валидатора в компонент. validator должен выбросить ValidationException, если значение недопустимо.

Если вас не устраивают предопределенные валидаторы, добавьте свой собственный экземпляр валидатора:

@Install(to = "zipField", subject = "validator")
protected void zipFieldValidator(Integer value) {
    if (value != null && String.valueOf(value).length() != 6)
        throw new ValidationException("Zip must be of 6 digits length");
}

ValueChangeEvent

XML-атрибуты PasswordField

Просматривать и редактировать атрибуты, применимые к компоненту, можно с помощью панели инспектора Jmix UI в конструкторе экранов Studio.

XML-элементы PasswordField