Используйте встроенные Angular валидаторы . Вы можете объединить валидаторы, чтобы помочь с вашей проблемой. В частности, методы min
и pattern
должны решить вашу проблему.
Примечание: при использовании более одного валидатора вам необходимо поместить валидаторы во вложенный массив.
// app.component.ts
this.withdrawCoinsForm = this.fb.group({
withdraw_coins: ['', [
Validators.required,
Validators.min(100),
Validators.pattern('[0-9]*')]
]
});
// app.component.html
<label>Enter Coins to Withdraw</label>
<input class="form-control"
formControlName="withdraw_coins"
placeholder="min. 100"
[ngClass]="{ 'is-invalid': submitted && f.withdraw_coins.errors }">
<div *ngIf="f.withdraw_coins.errors" class="invalid-feedback">
<div *ngIf="f.withdraw_coins.errors.min">
Must be a min of 100!
</div>
<div *ngIf="f.withdraw_coins.errors.pattern">
Must not have a decimal!
</div>
</div>