add binding to throw error correctly when all fields are deselecting add tests refactoring select/deselect