467 LoginForm
登录表单。
用途
账号、密码与“记住我”;提交中禁用输入;显示调用方给出的错误(含频率限制、锁定)。密码在私有临时状态中编辑,经提交回调传出,完成后清除;账号校验由调用方完成。
最小示例
var state account.LoginFormState
view := func(c *ui.Context) {
core.Use(c, core.Settings{})
account.LoginForm(c, &state, account.LoginFormOptions{OnSubmit: func(account, password string, remember bool) {
// Submit credentials through the caller-provided auth service.
state.EndSubmit("")
}})
}
ui.Render(view, 400, 300, 1)参数
| 字段 | 类型 | 默认值 | 含义 |
|---|---|---|---|
s | *LoginFormState | 必填 | Account、Remember 可读写;密码不可读取。 |
OnSubmit | func(account, password string, remember bool) | 必填 | 唯一接收凭据的出口。 |
AccountLabel | string | 内置“Email or username” | 账号标签。 |
Disabled | bool | false | 禁用。 |
状态
默认、必填错误、提交中、失败(错误文字)、禁用。
事件
OnSubmit 每次提交调用一次;完成后调用 s.EndSubmit(err),密码随即清除。
键盘操作
Tab 顺序:账号、密码、显示密码、记住我、登录;任一字段中 Enter 提交;缺项时聚焦第一个空字段。
限制
- 凭据只经调用方回调传出;密码、验证码与密钥不会写入日志、Label 或 Description。
- 提交失败后需重新输入密码。

