This is somewhat related to the introduction of set_data() to form_validation, which allows someone to pass an array instead of using POST. (#1121)
This would be great for moving validation to the model.
I don't know the importance of this but: if set_data is called after set_rules, validation doesn't work correctly. Maybe add something in the docs?
You've set the data yourself, why do you need to get it from the library?
Switch CI_Form_validation:: to public
Makes it easier to access the data after validation (issue #1208)