Files
payload/test/admin/components/views/CustomView/index.client.tsx
Jarrod Flesch c0ae287d46 fix: reset password validations (#6153)
Co-authored-by: Elliot DeNolf <denolfe@gmail.com>
Co-authored-by: James <james@trbl.design>
Co-authored-by: Alessio Gravili <alessio@gravili.de>
2024-05-02 15:08:47 -04:00

55 lines
1.2 KiB
TypeScript

'use client'
import { ConfirmPassword } from '@payloadcms/ui/fields/ConfirmPassword'
import { Password } from '@payloadcms/ui/fields/Password'
import { Form, useFormFields } from '@payloadcms/ui/forms/Form'
import { FormSubmit } from '@payloadcms/ui/forms/Submit'
import React from 'react'
export const ClientForm: React.FC = () => {
return (
<Form
initialState={{
'confirm-password': {
initialValue: '',
valid: false,
value: '',
},
password: {
initialValue: '',
valid: false,
value: '',
},
}}
>
<CustomPassword />
<ConfirmPassword />
<FormSubmit>Submit</FormSubmit>
</Form>
)
}
const CustomPassword: React.FC = () => {
const confirmPassword = useFormFields(([fields]) => {
return fields['confirm-password']
})
const confirmValue = confirmPassword.value
return (
<Password
autoComplete="off"
label="Password"
name="password"
required
validate={(value) => {
if (value && confirmValue) {
return confirmValue === value ? true : 'Passwords must match!!!!'
}
return 'Field is required'
}}
/>
)
}