By "Free text", I must assume you mean that you have a text field with the default "edit box" format.
The validate functions would not be used to produce what you describe.
You can define FieldA as a calculation field with text selected as the result type and this expression:
IF ( IsEmpty ( FieldB ) ; "No" ; "Yes" )
or YOu can define FieldA as a text field with the same expression as an auto-enter calculation. Be sure to also clear the "do not replace existing value..." check box.
Both the calculation field and the text field with an auto-enter calculation can be formatted as radio buttons with a Value list of "Yes" and "No" values.