One thng I notice is that some of the posters seem to have the opinion that signing a training contract is synonymous with a moral or ethical agreement/obligation to stay for that period of time. It's not IMHO, you are only agreeing to pay back training costs (or whatever is noted in the contract) if you leave during the term.
That being said, There is still two sides to the issue. I have always felt that any company that needs to use training contracts either is not financially responsible, not good at hiring the right employees, or is not a great place to work (salary, QOL, etc.) There is some reason that enough people have jumped ship within a year of employment to constitute the need.
Also, the training contract should cover both parties: if your salary, position, work conditions, base, pre-employment promises (lots of factors or conditions you could put in here) change then the contract should be void. That language should be in any legitimate contract. The employer has to have some interest at stake. Again, just my opinion.