This one may need some tightening up. In this example, text-only input is initially evaluated as valid, and always evaluated as valid in the required input. Also, changing from a valid number to an invalid value sometimes doesn't trigger an error on blur.