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。可能有什么不对?
答案 0 :(得分:2)
如果你使用像"^[a-z]$"
这样的简单正则表达式,它工作正常,因此我认为它必须是导致问题的正则表达式。
我很确定问题是由需要转义的反斜杠引起的。只需将\
更改为\\