I have the following form code that allows input of a date using AngularUI (date is required and should match US date format e.g.: MM/DD/YY):
Your ng-pattern worked in a fiddle I created, but it allows for some incorrect dates, such as 0/9/1993 and 19/2/1993.
Here's a better pattern: (note, it was updated to match @WillSadler's answer)
^(0?[1-9]|1[012])\/(0?[1-9]|[12][0-9]|3[01])\/((19\d{2})|([2-9]\d{3}))$
Fiddle.