kwameopareasiedu / vanjs-form

Fully typed form state management library (with validation) for VanJS
6 stars 1 forks source link

on error how to change css #4

Open sysmat opened 2 days ago

sysmat commented 2 days ago

I'm trying to change css of input on error, but not working

const form = new Form({
    initialValues: {
      name: '',
    },
    validator: yupValidator(
      yup.object({
        name: yup.string().required('Required').min(6, 'Must be at least 6 chars'),
      })
    ),
    validationMode: 'oninput',
  });

 formEl(
      { className: 'flex flex-col gap-2', onsubmit: handleSubmit },
     label('Name'),
form.register('name', {
    autofocus: false,
    type: 'text',
    className: form.error('name') != null
    ? 'px-2 py-1 border-2 border-blue-200 rounded outline-none focus:border-blue-500 w-full'
    : 'px-2 py-1 border-2 border-red-200 rounded outline-none w-full',
    placeholder: 'Vaše ime',
  })
      div({ className: 'flex-1 flex-col gap-1' }, () =>
        form.error('name') != null ? div({ className: 'text-sm text-rose-600 italic' }, form.error('name')) : null
      )
)
sysmat commented 18 hours ago

form.error('name') is not reactive or it is?