Check and set label

I ran into an 'illegal offset' warning when using this particular combination of rules and messages. checkAndSetLabel() was trying to use a DateTime object as an array key. I changed the check from !is_array() to (is_numeric($params[$k]) || is_string($params[$k])).
Ah right, sorry - For some reason I was looking at this and thinking that it was the value parameter, not the field name. You are correct. I will get this merged.