Handling Forms & User Input

What's the purpose of setCustomValidity() and reportValidity()?
input.addEventListener('input', e => {
  if (e.target.value.length > 0) {
    e.target.setCustomValidity('');
  } else {
    e.target.setCustomValidity('This field is required');
  }
  e.target.reportValidity();
});
Next Question (3/20)