two way binding, validation