Lemoncode / lcFormValidation

Javascript based form validation library, third party library / framework agnostic.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Empty array validation constraint returns undefined error message

brauliodiez opened this issue · comments

Something like:

const hotelFormValidationConstraints: ValidationConstraints = {
  fields: {
    name: [{ validator: Validators.required }],
    city: [],
  }
};

Will produce an undefined FieldValidationResult, e.g.:

        <DropdownForm
          name="city"
          label="city"
          onChange={onFieldUpdate}
          value={hotel.city}
          list={cities}
          error={formErrors.city.errorMessage}
        />

Uncaught (in promise) TypeError: Cannot read property 'errorMessage' of undefined

Workaround:if a given field has no validation check for undefined

  const onFieldUpdate = (id : keyof HotelEntityVm, value : any) => {
    setHotel({
      ...hotel,
      [id]: value
    });

    hotelFormValidation.validateField(hotel, id, value).then(
     (fieldValidationResult) => {
+        if(fieldValidationResult) {
          setHotelFormErrors({
            ...hotelFormErrors,
            [id]: fieldValidationResult
          });  
+        }
      }
    )