35 lines
2.0 KiB
Go
35 lines
2.0 KiB
Go
// Copyright 2022 E99p1ant. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package form
|
|
|
|
type Register struct {
|
|
Email string `valid:"required;email;maxlen:100" label:"电子邮箱" msg:"form.register.email"`
|
|
Domain string `valid:"required;alphadash;minlen:3;maxlen:20" label:"个性域名" msg:"form.register.domain"`
|
|
Name string `valid:"required;maxlen:20" label:"昵称" msg:"form.register.name"`
|
|
Password string `valid:"required;minlen:8;maxlen:30" label:"密码" msg:"form.register.password"`
|
|
RepeatPassword string `valid:"required;equal:Password" label:"重复密码" msg:"form.register.repeatPassword"`
|
|
Recaptcha string `form:"g-recaptcha-response" valid:"required" label:"Recaptcha" msg:"form.register.recaptcha"`
|
|
Language string `form:"language" label:"界面语言"` // 可选:注册时选择界面语言,留空使用站点默认
|
|
// AgreeRules 注册时勾选「已阅读并同意社区规则」。
|
|
// 服务端必须校验:前端的 required 可以被绕过,而这个勾选是「用户已知悉规则」的唯一凭证。
|
|
AgreeRules string `form:"agree_rules" valid:"required" label:"同意社区规则" msg:"form.register.agreeRules"`
|
|
}
|
|
|
|
type Login struct {
|
|
Email string `valid:"required;email;maxlen:100" label:"电子邮箱" msg:"form.email.required"`
|
|
Password string `valid:"required" label:"密码" msg:"form.login.password"`
|
|
Recaptcha string `form:"g-recaptcha-response" valid:"required" label:"Recaptcha" msg:"form.recaptcha"`
|
|
}
|
|
|
|
type ForgotPassword struct {
|
|
Email string `valid:"required;email;maxlen:100" label:"电子邮箱" msg:"form.email.required"`
|
|
Recaptcha string `form:"g-recaptcha-response" valid:"required" label:"Recaptcha" msg:"form.recaptcha"`
|
|
}
|
|
|
|
type RecoverPassword struct {
|
|
NewPassword string `valid:"required;minlen:8;maxlen:30" label:"新密码" msg:"form.recover.newPassword"`
|
|
RepeatPassword string `valid:"required;equal:NewPassword" label:"重复密码" msg:"form.recover.repeatPassword"`
|
|
}
|