One of the first things I read when learning InfoPath is that regardless of which view the user is looking at, all schema validations must be met in order to submit. This is because the form is bound to the rules of the entire schema.
One way I found to get around this was not put the most generic business rules into the schema definition but the do scripting validation based on view that is currently visible. So instead of making a field like teacher id not allowed to be empty in the data source, I would write code that would check for a teacher id based on the view that is currently visibile. If the teacher id were blank, I would then add an error to the errors collection which would disable the submit button.
Jason
http://www.k2distillery.com/