2016-05-10 7 views
2

みんな!パターンそのものが機能します。 http://regexlib.com/RETester.aspx?regexp_id=409から抽出し、https://regex101.com/を使用して、データ:02/02/2012および他の多くを用いて試験した。角度2 - Ngフォームのパターン発行

多分私はそれを正しく使用していないでしょうか?

<form class="searchBlock" [ngFormModel]="formSearch"> 
    <input type="text" ngControl="frmDateFrom"> 
</form> 
<span>{{formSearch.valid | json}}</span> 


import {FORM_DIRECTIVES, FormBuilder, Control, ControlGroup, Validators} from 'angular2/common'; 
export class MyComponent { 
    formSearch: ControlGroup; 
    frmDateFrom: Control; 
    constructor(private builder: FormBuilder) { 
     this.frmDateFrom = new Control('', Validators.compose([Validators.required, Validators.pattern("^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$")])); 
     this.formSearch = builder.group({ 
     frmDateFrom: this.frmDateFrom 
    }); 
    } 
} 

値が何であっても、formSearch.validは常に私にfalseを表示します。何が間違っていますか?

答えて

2

"^[a-z]$"のような単純な正規表現を使用するとうまくいきますので、問題の原因となる正規表現でなければならないと思います。

Plunker example

私は問題がescaptedする必要がバックスラッシュによって引き起こされるかなり確信しています。ただ変更する\\\

+0

Yep!それはそれです...今、それは魅力のように働いています。 –

+2

tyvm、ガンター!! –