passwordField 密码输入

一个用于输入密码的组件。组件中输入的字符会默认进行掩码处理。用户可通过该组件设置或修改密码,或者在登录界面用于密码输入。

loginForm 组件包含一个密码输入控件。
  • XML 元素:passwordField

  • Java 类:JmixPasswordField

基本用法

下面的示例展示了一个基本的 passwordField

<passwordField id="passwordField"
               label="New password"
               required="true"
               clearButtonVisible="true"
               helperText="Make it strong!">
</passwordField>
<button id="createPasswordButton"
        text="Create"/>
@ViewComponent
protected JmixPasswordField passwordField;
@Autowired
protected Notifications notifications;

@Subscribe("createPasswordButton")
protected void onButtonClick(ClickEvent<Button> event) {
    if (!passwordField.getValue().isEmpty())
        notifications.create("Password created")
                .show();
    }
password field basic

passwordField 组件的属性与 textField 文本框 组件类似。但是,密码组件没有 datatype 属性,因为密码组件只能输入 String

事件和处理器

在 Jmix Studio 生成处理器桩代码时,可以使用 Jmix UI 组件面板的 Handlers 标签页或者视图类顶部面板的 Generate Handler 添加,也可以通过 CodeGenerate 菜单(Alt+Insert / Cmd+N)生成。

validator

为组件添加 validator 实例。验证器在检查到值非法时需要抛出 ValidationException 异常。

@Install(to = "passwordField", subject = "validator")
private void passwordFieldValidator(String value) {
    if (value != null && value.length() < 8)
        throw new ValidationException("Password must be at least 8 characters long");
}

XML 内部元素

参考