Angular 2 - NgForm с проблемой шаблона

каждый ! Сам шаблон работает. Я извлек из http://regexlib.com/RETester.aspx?regexp_id=409 и протестировано с использованием https://regex101.com/ с данными: 02/02/2012 и многими другими.

Может я не правильно его использую?

<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. Что может быть не так?


person Marco Jr    schedule 10.05.2016    source источник


Ответы (1)


Если вы используете простое регулярное выражение, такое как "^[a-z]$", оно работает нормально, поэтому я предполагаю, что это должно быть регулярное выражение, вызывающее проблемы.

Пример планкера

Я почти уверен, что проблема вызвана обратной косой чертой, которую необходимо экранировать. Просто измените любой \ на \\

person Günter Zöchbauer    schedule 10.05.2016