Skip to content

Commit d6b0f49

Browse files
hperlory-bot
authored andcommitted
fix: return a specific error message for email & phone validation errors
GitOrigin-RevId: 48ed3f3642f831b1bc58f3238105911ad8a55de0
1 parent c0b6fba commit d6b0f49

16 files changed

Lines changed: 71 additions & 19 deletions

File tree

cmd/clidoc/main.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,8 @@ func init() {
188188
"NewInfoSelfServiceLoginAAL2CodeAddress": text.NewInfoSelfServiceLoginAAL2CodeAddress("{channel}", "{address}"),
189189
"NewErrorCaptchaFailed": text.NewErrorCaptchaFailed(),
190190
"NewCaptchaContainerMessage": text.NewCaptchaContainerMessage(),
191+
"NewErrorValidationEmail": text.NewErrorValidationEmail("{value}"),
192+
"NewErrorValidationPhone": text.NewErrorValidationPhone("{value}"),
191193
}
192194
}
193195

selfservice/strategy/code/strategy_recovery_test.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -510,9 +510,8 @@ func TestRecovery(t *testing.T) {
510510
})
511511
activeMethod := gjson.Get(responseJSON, "active").String()
512512
assert.EqualValues(t, node.CodeGroup, activeMethod, "expected method to be %s got %s", node.CodeGroup, activeMethod)
513-
expectedMessage := fmt.Sprintf("%q is not valid \"email\"", email)
514513
actualMessage := gjson.Get(responseJSON, "ui.nodes.#(attributes.name==email).messages.0.text").String()
515-
assert.EqualValues(t, expectedMessage, actualMessage, "%s", responseJSON)
514+
assert.EqualValues(t, "Enter a valid email address", actualMessage, "%s", responseJSON)
516515
})
517516
}
518517
}
@@ -1354,9 +1353,8 @@ func TestRecovery_WithContinueWith(t *testing.T) {
13541353
})
13551354
activeMethod := gjson.Get(responseJSON, "active").String()
13561355
assert.EqualValues(t, node.CodeGroup, activeMethod, "expected method to be %s got %s", node.CodeGroup, activeMethod)
1357-
expectedMessage := fmt.Sprintf("%q is not valid \"email\"", email)
13581356
actualMessage := gjson.Get(responseJSON, "ui.nodes.#(attributes.name==email).messages.0.text").String()
1359-
assert.EqualValues(t, expectedMessage, actualMessage, "%s", responseJSON)
1357+
assert.EqualValues(t, "Enter a valid email address", actualMessage, "%s", responseJSON)
13601358
}
13611359
})
13621360
}

selfservice/strategy/code/strategy_registration_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -730,8 +730,8 @@ func TestRegistrationCodeStrategy(t *testing.T) {
730730
} else {
731731
require.EqualValues(t, http.StatusBadRequest, resp.StatusCode)
732732
}
733-
require.Equal(t, int64(4000001), gjson.Get(body, "ui.nodes.#(attributes.name==traits.email).messages.0.id").Int(), "%s", body)
734-
require.Equal(t, "\"invalidemail\" is not valid \"email\"", gjson.Get(body, "ui.nodes.#(attributes.name==traits.email).messages.0.text").String(), "%s", body)
733+
require.Equal(t, int64(4000040), gjson.Get(body, "ui.nodes.#(attributes.name==traits.email).messages.0.id").Int(), "%s", body)
734+
require.Equal(t, "Enter a valid email address", gjson.Get(body, "ui.nodes.#(attributes.name==traits.email).messages.0.text").String(), "%s", body)
735735
})
736736
})
737737
})

selfservice/strategy/code/strategy_verification_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ func TestVerification(t *testing.T) {
167167
t.Run("description=should require a valid email to be sent", func(t *testing.T) {
168168
check := func(t *testing.T, actual string, value string) {
169169
assert.EqualValues(t, string(node.CodeGroup), gjson.Get(actual, "active").String(), "%s", actual)
170-
assert.EqualValues(t, fmt.Sprintf("%q is not valid \"email\"", value),
170+
assert.EqualValues(t, "Enter a valid email address",
171171
gjson.Get(actual, "ui.nodes.#(attributes.name==email).messages.0.text").String(),
172172
"%s", actual)
173173
}

selfservice/strategy/link/strategy_recovery_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ func TestRecovery(t *testing.T) {
329329
t.Run("description=should require a valid email to be sent", func(t *testing.T) {
330330
check := func(t *testing.T, actual string, value string) {
331331
assert.EqualValues(t, node.LinkGroup, gjson.Get(actual, "active").String(), "%s", actual)
332-
assert.EqualValues(t, fmt.Sprintf("%q is not valid \"email\"", value),
332+
assert.EqualValues(t, "Enter a valid email address",
333333
gjson.Get(actual, "ui.nodes.#(attributes.name==email).messages.0.text").String(),
334334
"%s", actual)
335335
}

selfservice/strategy/link/strategy_verification_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ func TestVerification(t *testing.T) {
145145
t.Run("description=should require a valid email to be sent", func(t *testing.T) {
146146
check := func(t *testing.T, actual string, value string) {
147147
assert.EqualValues(t, string(node.LinkGroup), gjson.Get(actual, "active").String(), "%s", actual)
148-
assert.EqualValues(t, fmt.Sprintf("%q is not valid \"email\"", value),
148+
assert.EqualValues(t, "Enter a valid email address",
149149
gjson.Get(actual, "ui.nodes.#(attributes.name==email).messages.0.text").String(),
150150
"%s", actual)
151151
}

selfservice/strategy/oidc/strategy_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ func TestStrategy(t *testing.T) {
421421
res, body := makeRequest(t, "valid", action, url.Values{})
422422

423423
require.Contains(t, res.Request.URL.String(), uiTS.URL, "%s", body)
424-
assert.Contains(t, gjson.GetBytes(body, "ui.nodes.#(attributes.name==traits.subject).messages.0.text").String(), "is not valid", "%s\n%s", gjson.GetBytes(body, "ui.nodes.#(attributes.name==traits.subject)").Raw, body)
424+
assert.Contains(t, gjson.GetBytes(body, "ui.nodes.#(attributes.name==traits.subject).messages.0.text").String(), "Enter a valid email address", "%s\n%s", gjson.GetBytes(body, "ui.nodes.#(attributes.name==traits.subject)").Raw, body)
425425
})
426426

427427
t.Run("case=cannot register multiple accounts with the same OIDC account", func(t *testing.T) {

selfservice/strategy/password/registration_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -800,8 +800,8 @@ func TestRegistration(t *testing.T) {
800800
require.EqualValues(t, http.StatusBadRequest, resp.StatusCode)
801801
}
802802

803-
assert.EqualValuesf(t, 4000001, gjson.Get(actual, "ui.nodes.#(attributes.name==traits.email).messages.0.id").Int(), "%s", actual)
804-
assert.Equalf(t, `"invalidemail" is not valid "email"`, gjson.Get(actual, "ui.nodes.#(attributes.name==traits.email).messages.0.text").String(), "%s", actual)
803+
assert.EqualValuesf(t, 4000040, gjson.Get(actual, "ui.nodes.#(attributes.name==traits.email).messages.0.id").Int(), "%s", actual)
804+
assert.Equalf(t, "Enter a valid email address", gjson.Get(actual, "ui.nodes.#(attributes.name==traits.email).messages.0.text").String(), "%s", actual)
805805
})
806806
}
807807

selfservice/strategy/profile/registration_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ func TestTwoStepRegistration(t *testing.T) {
117117

118118
fmt.Println(body)
119119

120-
require.Equal(t, int64(4000001), gjson.Get(body, "ui.nodes.#(attributes.name==traits.email).messages.0.id").Int(), "%s", body)
121-
require.Equal(t, "\"invalidemail\" is not valid \"email\"", gjson.Get(body, "ui.nodes.#(attributes.name==traits.email).messages.0.text").String(), "%s", body)
120+
require.Equal(t, int64(4000040), gjson.Get(body, "ui.nodes.#(attributes.name==traits.email).messages.0.id").Int(), "%s", body)
121+
require.Equal(t, "Enter a valid email address", gjson.Get(body, "ui.nodes.#(attributes.name==traits.email).messages.0.text").String(), "%s", body)
122122
})
123123

124124
t.Run("select_credentials", func(t *testing.T) {
@@ -240,8 +240,8 @@ func TestOneStepRegistration(t *testing.T) {
240240

241241
fmt.Println(body)
242242

243-
require.Equal(t, int64(4000001), gjson.Get(body, "ui.nodes.#(attributes.name==traits.email).messages.0.id").Int(), "%s", body)
244-
require.Equal(t, "\"invalidemail\" is not valid \"email\"", gjson.Get(body, "ui.nodes.#(attributes.name==traits.email).messages.0.text").String(), "%s", body)
243+
require.Equal(t, int64(4000040), gjson.Get(body, "ui.nodes.#(attributes.name==traits.email).messages.0.id").Int(), "%s", body)
244+
require.Equal(t, "Enter a valid email address", gjson.Get(body, "ui.nodes.#(attributes.name==traits.email).messages.0.text").String(), "%s", body)
245245
})
246246
})
247247
})

test/e2e/cypress/integration/profiles/email/registration/errors.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ describe("Registration failures with email profile", () => {
138138

139139
cy.submitPasswordForm()
140140
cy.get(
141-
'*[data-testid="ui/message/4000001"], *[data-testid="ui/message/4000002"]',
141+
'*[data-testid="ui/message/4000040"], *[data-testid="ui/message/4000002"]',
142142
).should("exist")
143143
})
144144

0 commit comments

Comments
 (0)