6
遷移到角4後,我的模板驅動的表單出現了一個奇怪的問題。我的required
attr的輸入似乎被打破。我想這個屬性默認爲novalidate
。但我需要一些html5驗證。試過novalidate="false"
但沒有成功。 有什麼方法可以啓用驗證?現在它似乎使用反應形式與Validators.required
是唯一的方法。角4.0.0 novalidate屬性
謝謝!
我的HTML組件的代碼片段:
<form (submit)="savePhone(phone);" novalidate="false">
<h3>Новый телефон</h3>
<md-input-container>
<input mdInput placeholder="Номер телефона"
onlyNumber="true" name="number"
[(ngModel)]="phone.number" required>
</md-input-container>
<md-select placeholder="Источник получения" (ngModel)="phone.source" name="source">
<md-option *ngFor="let source of sources" [value]="source">
{{ source }}
</md-option>
</md-select>
<textarea name="comment" placeholder="Текст комментария"
[(ngModel)]="phone.comment" name="comment">
</textarea>
<div layout="row" layout-align="end">
<button class="button button--success" type="submit">
Добавить
</button>
</div>
謝謝你,夥計!奇蹟般有效! –
詳細說明:默認情況下,Angular4自動在ngForm(您的表單標籤)中添加'novalidate'。正如我們所知,'novalidate'禁用HTML5本地瀏覽器驗證。如果你想啓用HTML5驗證,就像@Günter說的那樣,在表單標籤中添加Angular的'ngNativeValidate'屬性。參考:https://github.com/angular/angular/issues/15531 –