Why would you want to do a file upload in
Struts 2 and not use the Struts 2 file upload mechanism?
Edit
Oh, I think I misunderstood what you were asking; missed the part about validation.
If the commons-upload/regular file upload validation doesn't work for you why not just validate in a validate() method? The "validation" interceptor is in the stack after file upload, so you can do whatever you need to.