Sometimes the right answer is to immediately say "your PR is not up to project standards, it won't be reviewed, please revise it yourself if you want it accepted". It's not a job of a maintainer to educate every wannabe-contributor.
Some of the PRs I submitted were pretty dumb and a complete waste of someone's time to review/reject but they showed enough patience to help me get "over the hump" and to eventually get commit access to the repo -- which didn't really help with getting features implemented because I have an apparently unlimited supply of dodgy ideas and would get "why is this needed?" a lot. I also had a habit of getting code to about 80% there before doing a PR "for discussion" knowing full well the lead maintainer would fix up the remaining 20% if it were a valuable enough addition.
Probably also helped that the project has a history of working with GSoC students and the devs were a generally helpful bunch with getting new contributors up to speed on the codebase.
Honestly, if they weren't so welcoming I'd be half the halfassed-coder I am today.