Fix validation for array elements (multiselect, radios, checkboxes) using the foo[] naming structure

Unfortunately with the current tests setup I couldn't get this to be replicated, but it doesn't break existing tests. Essentially, if you have a multiselect, radio group, etc. which relys on a foo[] naming structure,the error state doesn't get applied correctly.
    
This is because it's searching for "foo." instead of "foo", since it converts "foo[]" to "foo.", even though that is incorrect.
    
If someone can write some tests for this, it'd be great. But I can't seem to get it to call these functions in a test.

This should fix the following issues: #179, #192 (I believe)