Как я могу запретить NgModel устанавливать недопустимые управляемые шаблоном значения элементов управления формы? Я проверил, что NgModel будет устанавливать недопустимые значения при двусторонней привязке к экземпляру модели. Я знаю, что могу создать копию экземпляра модели, но у меня может быть сценарий ios, в котором подход сохранения / возврата не подходит.
https://stackblitz.com/edit/angular-gcu9mz
@Component({
selector: 'my-app',
template: `
Enter an invalid value (less than 14 characters).
<br><br>
<label for="input">Input:</label>
<input #input="ngModel" type="text" minlength="14" [(ngModel)]="value"
placeholder="Enter an invalid value">
Valid: {{input.valid}}
<br>
Model value: {{value}}
`
})
export class AppComponent {
value = 'Invalid value';
}
Я нашел много связанных вопросов для AngularJS, где, как говорят, ngModelOptions поддерживает конфигурацию allowInvalid, которая изменяет поведение по умолчанию. Однако это не поддерживается в NgModel Angular.
Не записывать недопустимые значения с помощью ng-модели
Как предотвратить недопустимость модели?
Меня не интересует обсуждение 1022 * о том, является ли принятие, отображение или установка недопустимых значений хорошей практикой, а также не должна ли модель быть "источником" истины ", так как мои требования всегда зависят от приложения и варианта использования.