2017-04-03 108 views
0

如何限制我在Angular 2中的日期輸入?我的代碼目前看起來是這樣的:最大和最小輸入日期

<input #birthday="ngModel" type="date" name="birthday" max="2012-12-12" min="2000-12-12" required ngModel> 

下面的日期應該是無效的,但它不是:

enter image description here

我在做什麼錯?

+0

你用什麼瀏覽器進行測試? –

+0

@ R.Richards谷歌瀏覽器: – Jesper

+0

在輸入類型日期,我們可以使用最小或最大其中一個只引用W3schools –

回答

1

你的問題是,它顯示是有效的,因爲你有唯一的驗證是如果它是要求所以輸入是有效的。設置最大和最小日期僅限制日期的輸入。如果你試圖提交你應該看到一個錯誤,因爲這

enter image description here

如果上述行爲是不夠的,因爲你所看到的輸入是有效的,你需要一個自定義的驗證。從你的代碼看來,你似乎正在使用模板驅動的表單。將自定義驗證器添加到模板驅動的表單會稍微複雜一些,但您仍然可以執行此操作。下面是一個教程的鏈接添加自定義驗證到模板驅動的形式

https://juristr.com/blog/2016/11/ng2-template-driven-form-validators/

注意

小心日期輸入類型,因爲它是不是在很多瀏覽器的支持。您應該查看角度日曆組件,例如PrimeNG日曆。

enter image description here

+0

謝謝,這是有道理的。對於如何在沒有日期輸入的情況下做到這一點,您有什麼建議嗎? – Jesper

相關問題