The locking mechanism in Subversion will not give you, out of the box, a way to prevent committing without locking in the first place.
You can, by focusing on capabilities, handle this with server interceptors, but I'm not sure. Perhaps you should ask a new question where you ask how to create a subversion script server hook that prevents people from making changes if they don't first have a file lock.
The locking mechanism is just an additional tool for managing problematic files, such as designer files, where content moves around a large number (so merging is a pain) or for binary files if you store them. But the locking mechanism is not out of the box, to prevent you from committing without locking, it's just a convenience, but it can be easily circumvented.
source share