payloadcms / payloadcms/payload
Using custom password validation hook in users collection doesen't prevent the collapsible from closong
Open
@PatrikKozak is already working on this.
Since Jan 5, 2026.
area: ui
Bug
- Dominant language
- TypeScript
- Stars
- 44.8k
- Forks
- 4.2k
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 53
Description
Describe the Bug
The only way to control a user password strength is to use a custom beforeValidate hook.
The UI in the user's collection has a collapsible that opens when the 'change password' button is pressed:
Once there is a validation error the collapsible closes:
Reproduction steps:
Link to the code that reproduces this issue
https://github.com/payloadcms/payload/tree/main/templates/website
Reproduction Steps
- In users collection config add an example hook:
hooks: {
beforeValidate: [
(data) => {
const { password } = data.data || {}
if (password.length < 8) {
throw new ValidationError({
collection: 'users',
errors: [
{
message:
'Password has to be at least 8 characters long',
path: 'password',
},
],
})
}
},
],
},
- Enter a password that is at least 3 characters long but shorter than 8 (ex. 5 characters)
- Hit save
- The collapsible get's closed, only a toast with error is visible
- Click the 'change password' button to see the validation error
- A validation error is visible
Expected result: Once validation fails the collapsible should stay open
Which area(s) are affected?
area: ui
Environment Info
Binaries:
Node: 20.19.0
npm: 10.8.2
Yarn: N/A
pnpm: 10.3.0
Relevant Packages:
payload: 3.67.0
next: 15.4.4
@payloadcms/db-sqlite: 3.67.0
@payloadcms/drizzle: 3.67.0
@payloadcms/email-nodemailer: 3.67.0
@payloadcms/graphql: 3.67.0
@payloadcms/live-preview: 3.67.0
@payloadcms/live-preview-react: 3.67.0
@payloadcms/next/utilities: 3.67.0
@payloadcms/payload-cloud: 3.67.0
@payloadcms/plugin-seo: 3.67.0
@payloadcms/richtext-lexical: 3.67.0
@payloadcms/translations: 3.67.0
@payloadcms/ui/shared: 3.67.0
react: 19.1.0
react-dom: 19.1.0
Operating System:
Platform: darwin
Arch: arm64
Version: Darwin Kernel Version 24.5.0: Tue Apr 22 19:54:25 PDT 2025; root:xnu-11417.121.6~2/RELEASE_ARM64_T6020
Available memory (MB): 16384
Available CPU cores: 10
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.