Validator: new array validator (supporting recursion)