我的代码:
<input #rtc="ngForm"
type="number"
min="1"
max="43200"
style="text-align: center"
[(ngModel)]="device.rtc"
ngControl="rtc"
required>
ngControl
不跟踪号码类型输入有效状态。如何自己为输入实现验证器?
这是我的测试代码:
落镖:
class MyComponent
{
Control ctrlRtc = new Control('test', rtcValidator);
static Map<String, bool> rtcValidator(Control control)
{
print(111);
}
}
HTML模板:
<input
#deviceRtc="ngForm"
type="number"
min="1"
max="43200"
style="text-align: center"
[(ngModel)]="device.rtc"
ngControl="ctrlRtc" <!-- also tried 'rtc'-->
>
&#34; 111&#34;从未在控制台中显示...
答案 0 :(得分:1)
类似的东西:
{{1}}
(未经测试)
答案 1 :(得分:1)
我认为您需要使用ngFormControl
而不是ngControl
。您不需要#deviceRtc
间谍。
<input
type="number"
min="1"
max="43200"
style="text-align: center"
[(ngModel)]="device.rtc"
[ngFormControl]="ctrlRtc">
然后,您会看到每次输入更改时都会调用rtcValidator(...)
。我不打算解释验证器函数的返回类型,因为Günter已在他的答案中证明了这一点。
我没有尝试运行您的示例,但我确实有a working example您可以尝试。