#How to show backend validation errors?

3 messages · Page 1 of 1 (latest)

cedar kindle
#

I have this setup for the form

const [backendErrors, setBackendErrors] = useState({
  name: '',
  email: '',
  password: '',
})
const form = useForm({
  initialValues: {
    name: '',
    email: '',
    password: '',
  },
  validate: {
    name: (value) => {
      if (value === '') return 'Name is required'
      if (backendErrors.name) return backendErrors.name;
    },
    email: (value) => {
      if (/^\S+@\S+$/.test(value) === false) return 'Invalid email';
      if (backendErrors.email) return backendErrors.email;
    },
    password: (value) => {
      if (value === '') return 'Password is required';
      if (backendErrors.password) return backendErrors.password;
    }
  },
});

On submit I have something similar to this but the errors are coming from backend, When I call setBackendErrors I also want to show them immediately but that doesn't seem to happen.

setBackendErrors({
  name: 'Name must be 2 characters',
  email: 'Email is alredy taken',
  password: '',
})
form.validate()
#

How to show backend validation errors?

twin cedar