// 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"` }