passwordField 密码输入
passwordField
是一个用于输入密码的组件。组件中输入的字符会默认进行掩码处理。用户可通过该组件设置或修改密码,或者在登录界面用于密码输入。
对于登录界面,请考虑使用专用的 loginForm 组件,该组件在用户登录过程中会提示用户输入密码。 |
-
XML 元素:
passwordField
-
Java 类:
JmixPasswordField
基本用法
除了没有 datatype
属性之外,passwordField
与 textField
基本一样。passwordField
的输入类型只能是 String
。
passwordField
基础示例:
<passwordField id="passwordField"
label="New password"
required="true"
clearButtonVisible="true"
helperText="Make it strong!"/>
<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() == false)
notifications.create("Password created")
.show();
}
XML 属性
id - autocapitalize - autocomplete - autocorrect - autofocus - autoselect - classNames - clearButtonVisible - colspan - dataContainer - enabled - errorMessage - height - helperText - invalid - label - maxHeight - maxWidth - minHeight - minWidth - pattern - placeholder - preventInvalidInput - property - readOnly - required - requiredIndicatorVisible - requiredMessage - tabIndex - themeNames - title - value - valueChangeMode - valueChangeTimeout - visible - width
事件和处理器
AttachEvent - BlurEvent - ChangeEvent - ComponentValueChangeEvent - CompositionEndEvent - CompositionStartEvent - CompositionUpdateEvent - DetachEvent - FocusEvent - InputEvent - InvalidChangeEvent - KeyDownEvent - KeyPressEvent - KeyUpEvent - validator
在 Jmix Studio 生成处理器桩代码时,可以使用 Jmix UI 组件面板的 Handlers 标签页或者视图类顶部面板的 Generate Handler 添加,也可以通过 Code → Generate 菜单(Alt+Insert / Cmd+N)生成。 |
ChangeEvent
com.vaadin.flow.component.textfield.GeneratedVaadinTextField.ChangeEvent
对应于 change
DOM 事件。
InvalidChangeEvent
com.vaadin.flow.component.textfield.GeneratedVaadinTextField.InvalidChangeEvent
当组件的 invalid 属性发生变化时发送。
validator
为组件添加 validator 实例。验证器在检查到值非法时需要抛出 ValidationException
异常。
@Install(to = "passwordField", subject = "validator")
private void passwordFieldValidator(String value) {
if (value != null && String.valueOf(value).length() < 8)
throw new ValidationException("Password must be at least 8 characters long");
}