The problem came from the fact that the Formatter from formatter.js will put the formatting output in the value of the textbox even when the user does not supply a value to the field. Thus, in my example, the pattern that is supplied will not ever work with a required field validation from the jquery plugin unless I set persistent to false:
if (document.getElementById('Phone') != null) {
new Formatter(document.getElementById('Phone'), {
'pattern': '({{999}}) {{999}}-{{9999}}',
'persistent': false
});
}