O padrão de validação de data não funciona com o padrão de validação Angular 2

Estou perguntando aqui, pois suspeito que há algo com os padrões de validação do Angular 2 que podem ser diferentes dos padrões de validação em outros idiomas.

Eu tenho um padrão de data que usei para minha validação do asp.net para obter mm / dd / aaaa, que leva em consideração os anos bissextos etc. e também aceita m / d / aaaa. Está sendo usado da seguinte maneira.

dateSubmitted: [null, [Validators.required, Validators.pattern('((^(10|12|0?[13578])([/])(3[01]|[12][0-9]|0?[1-9])([/])((1[8-9]\d{2})|([2-9]\d{3}))$)|(^(11|0?[469])([/])(30|[12][0-9]|0?[1-9])([/])((1[8-9]\d{2})|([2-9]\d{3}))$)|(^(0?2)([/])(2[0-8]|1[0-9]|0?[1-9])([/])((1[8-9]\d{2})|([2-9]\d{3}))$)|(^(0?2)([/])(29)([/])([2468][048]00)$)|(^(0?2)([/])(29)([/])([3579][26]00)$)|(^(0?2)([/])(29)([/])([1][89][0][48])$)|(^(0?2)([/])(29)([/])([2-9][0-9][0][48])$)|(^(0?2)([/])(29)([/])([1][89][2468][048])$)|(^(0?2)([/])(29)([/])([2-9][0-9][2468][048])$)|(^(0?2)([/])(29)([/])([1][89][13579][26])$)|(^(0?2)([/])(29)([/])([2-9][0-9][13579][26])$))')]],

Esse padrão funcionou perfeitamente no meu aplicativo asp.net, mas não está no Angular2, ele falha se eu tentar digitar o formato de data correto na caixa de entrada ou usar o selecionador de data do material para inseri-lo. Não consegui encontrar nada sobre isso. Consegui aplicar outros padrões no Angular2, como email.

Minhas versões angulares no meu package.json são as seguintes, se essas informações forem necessárias:

"@angular/animations": "^4.3.6",
    "@angular/cdk": "^2.0.0-beta.10",
    "@angular/common": "^4.1.0",
    "@angular/compiler": "^4.1.0",
    "@angular/core": "^4.1.0",
    "@angular/forms": "^4.1.0",
    "@angular/http": "^4.1.0",
    "@angular/material": "^2.0.0-beta.10",
    "@angular/platform-browser": "^4.1.0",
    "@angular/platform-browser-dynamic": "^4.1.0",
    "@angular/router": "^4.1.0",
    "@ngrx/core": "^1.2.0",

Edit: adicionado plunker:https://plnkr.co/edit/qHPZceVTpS4x1AEqZfjA

questionAnswers(1)

yourAnswerToTheQuestion