Ответ 1
Angular4 автоматически добавляет атрибут novalidate
к формам.
Чтобы переопределить это, вы можете добавить директиву ngNativeValidate
в форму.
<form ngNativeValidate>
<h2>Phone Number Validation</h2>
<label for="phonenum">Phone Number (format: xxxx-xxx-xxxx):</label><br />
<input id="phonenum" type="tel" pattern="^\d{4}-\d{3}-\d{4}$" required>
<input type="submit" value="Submit">
</form>
К сожалению, я пока не вижу этого в документах, но нашел его, посмотрев исходный код: https://github.com/angular/angular/blob/master/packages/forms/src/directives/ng_no_validate_directive.ts
Похоже, что добавление ngNoForm
к форме имеет тот же эффект, что и ngNativeValidate
, в зависимости от ваших случаев использования, для того, чтобы объявить что-то как не форму по какой-либо причине.
Надеюсь, что это поможет.