You will have to write your own custom validation , I guess Struts validation only checks the pattern, If implementing a cutom validation is too much of pain you would end up writing a custom Java script
the easiest way to do that is to override the validate method on your form, call super, then check if the date is null or what have you, then get the year and validate it there. That way all your validation is contained in the form. Or you could try min/max with dates (I've never tried that but it might be worth a shot).
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com