CTValidTextField refactor

The CTValidTextField valid should be the result of a check and not set
from outside.