Werner,
You can do this:
In[13]:= mi[list_] := yes /; VectorQ[list, IntegerQ]
In[25]:= mi[{1, 2, 3, 4, 5}]
Out[25]= yes
In[15]:= mi[{1, 2, 3, 4, 5, t}]
Out[15]= mi[{1, 2, 3, 4, 5, t}]
In[21]:= 
mi[list_] := yes /; VectorQ[list, IntegerQ[#] || Head[#] == Symbol &]
In[22]:= mi[{1, 2, 3, 4, 5, t}]
Out[22]= yes
In[23]:= 
mi[list_] := yes /; VectorQ[list, IntegerQ[#] || MatchQ[#, _Symbol] &]
In[24]:= mi[{1, 2, 3, 4, 5, t}]
Out[24]= yes
Also works with ArrayQ for 2 dimensions.  See some other good examples here and look at putting constraints on patterns.
Regards,
Neil