diff --git a/controllers/account.go b/controllers/account.go index 1e2f2b6c..664ee8ee 100644 --- a/controllers/account.go +++ b/controllers/account.go @@ -140,13 +140,6 @@ func (c *ApiController) Signup() { username = id } - password := authForm.Password - msg = object.CheckPasswordComplexityByOrg(organization, password) - if msg != "" { - c.ResponseError(msg) - return - } - initScore, err := organization.GetInitScore() if err != nil { c.ResponseError(fmt.Errorf(c.T("account:Get init score failed, error: %w"), err).Error()) diff --git a/object/check.go b/object/check.go index dd1e92fc..7f0faff8 100644 --- a/object/check.go +++ b/object/check.go @@ -66,8 +66,11 @@ func CheckUserSignup(application *Application, organization *Organization, form } } - if len(form.Password) <= 5 { - return i18n.Translate(lang, "check:Password must have at least 6 characters") + if application.IsSignupItemVisible("Password") { + msg := CheckPasswordComplexityByOrg(organization, form.Password) + if msg != "" { + return msg + } } if application.IsSignupItemVisible("Email") { @@ -126,7 +129,9 @@ func CheckUserSignup(application *Application, organization *Organization, form if len(application.InvitationCodes) > 0 { if form.InvitationCode == "" { - return i18n.Translate(lang, "check:Invitation code cannot be blank") + if application.IsSignupItemRequired("Invitation code") { + return i18n.Translate(lang, "check:Invitation code cannot be blank") + } } else { if !util.InSlice(application.InvitationCodes, form.InvitationCode) { return i18n.Translate(lang, "check:Invitation code is invalid") diff --git a/web/src/table/SignupTable.js b/web/src/table/SignupTable.js index e58551fb..5df9b5f5 100644 --- a/web/src/table/SignupTable.js +++ b/web/src/table/SignupTable.js @@ -137,7 +137,7 @@ class SignupTable extends React.Component { } return ( - { + { this.updateField(table, index, "required", checked); }} /> );