Teaching self discipline is not achievable through any method so crude as punishment. There's a great deal to it, but at the very top of the list are two key principles:
1) Honesty. Nothing reduces a child's respect for authority faster than hypocrisy. Never make a rule for a child that you will not follow yourself. If you want your teens to be celibate, you better be celibate yourself, if you can't be  - then you'd best teach them about consent and safe sex instead. Don't lie about following the same rules either - they WILL find out. 
2)By example: if you want your children to respect  and obey your authority, set the example by respecting and obeying the authorities that exist over you. Never speed when driving. Never drink and drive. Obey even the laws you don't agree with. Even the ones you think are stupid. Pay your taxes, without complaint. Pay your TV license. As of that court decision: it means obeying the law against spanking them too.

Respect your kids and they'll respect u