Seemingly (at least!) 3 different ways of validating/whinging at the user for the user parameters.
Commonise and reuse.
They can still apply more restrictive validation (!anon etc) themselves
As per IRC convo beneath:
[23:29:26] <|reedy|> http://en.wikipedia.org/w/api.php?action=query&list=recentchanges&rcuser=User:Reedy
[23:29:28] <|reedy|> http://en.wikipedia.org/w/api.php?action=query&list=logevents&leuser=User:Reedy
[23:29:51] <|reedy|> RoanKattouw: seemingly 3 different (at least) sets of behaviour
[23:30:24] <|reedy|> http://en.wikipedia.org/w/api.php?action=query&format=xml&list=usercontribs&ucuser=User:Reedy
[23:30:30] <RoanKattouw> Yeah I assumed that'd be it
[23:30:32] <RoanKattouw> Interesting
[23:30:36] <|reedy|> heh
[23:30:44] <|reedy|> I was looking at bug 21966 to see "how its done elsewhere"
[23:30:51] <RoanKattouw> uc reads your mind, le throws an error, rc literally looks for User:User:Reedy
[23:30:57] <|reedy|> Yup
[23:31:00] <|reedy|> Tbh
[23:31:17] <|reedy|> Shouldn't the validation for this bit be done in a parent class and kept the same for all?
[23:31:59] <RoanKattouw> |reedy|: Yes, it should happen in ApiBase
[23:32:10] <RoanKattouw> Well.... not necessarily
[23:32:24] <|reedy|> Well, somewhere common.. As they should all experience the same validation
[23:32:25] <RoanKattouw> For instance, usercontribs allows ucuser=18.104.22.168 , but logevents doesn't
[23:32:40] <RoanKattouw> Because anonymous users cannot have log entries
[23:32:42] <|reedy|> I mean, at least, the method, can still do its own, and call the common
[23:32:43] <|reedy|> Sure
[23:32:49] <RoanKattouw> But anons can have contribs and RC
[23:33:21] <RoanKattouw> |reedy|: Yeah, so the basic ApiBase validation should just be the uc&rc stuff, and then le can add it's no-anons strictness itself
[23:33:29] <|reedy|> Yup
[23:38:13] <RoanKattouw> |reedy|: Yeah well since I'm not a volunteer anymore (it's 2010 now, I get paid again, yay) I probably won't be getting to it any time soon
[23:33:37] <RoanKattouw> Although I'm not sure anyone's actually tested with 6, only aware of 5.3
[23:34:19] <RoanKattouw> Of course usercontribs and RC still validate differently, that should be made consistent
[23:34:24] <|reedy|> RoanKattouw: i suppose thats possibly the way to do it... Shall i log it as an enhancement and put it as blocking 21966?
[23:34:37] <|reedy|> cause "fixing" that will fix 21966 in one way or another
[23:34:43] <RoanKattouw> That's true
[23:35:03] <RoanKattouw> Yeah go ahead and do that, unless you feel like fixing this in the short term
[23:35:29] <|reedy|> RoanKattouw: i may get to it, not too difficult, just needs some time i suppose :)