I think I have discovered a probelm with the recently added validator DTDs: they seem to allow only a single msg and arg 0-3 element according to the content model; I think this is not correct.
My understanding is that there can be several msg, and arg[n] elements which are matched up with the corresponding validator definition through the "name" attribute of the msg and args elements. The fix is pretty simple: in jakarta-struts/conf/share/validation_1_1.dtd and validator-rules_1_1.dtd change: <!ELEMENT field (msg?, arg0?, arg1?, arg2?, arg3?, var* )> to <!ELEMENT field (msg*, arg0*, arg1*, arg2*, arg3*, var* )> Steve