fields validation framework