html
<form (ngSubmit)="saveSalaire()"> <div> <label for="numEmp">Numéro d'employé:</label> <input type="text" id="numEmp" formControlName="numEmp" [value]="salaireRetraite.numEmp" /> </div> <button type="submit">Créer salaire</button> </form>
`export class SalaireRetraiteComponent implements OnInit {
salaireForm: FormGroup | undefined;
salaires: SalaireRetraite[] = [];
salaireRetraite: SalaireRetraite = {
id: 0,
numEmp: '',
numAssSoc: '',
salaireDeclare: '',
salairePlafonne: '',
salaireDifferentiel: ''
}
salaireRetraiteForm: FormGroup = this.fb.group({});
constructor(private fb: FormBuilder, private salaireRetraiteService: SalaireRetraiteService) {}
ngOnInit(): void {
this.salaireForm = this.fb.group({
numEmp: ['', [Validators.required, this.onlyNumbersValidator(), Validators.maxLength(10)]],
numAssSoc: ['', [Validators.required, this.onlyNumbersValidator(), Validators.maxLength(10)]],
salaireDeclare: ['', [Validators.required, this.onlyNumbersValidator(), Validators.maxLength(13)]],
salairePlafonne: ['', [Validators.required, this.onlyNumbersValidator(), Validators.maxLength(13)]],
salaireDifferentiel: ['', [Validators.required, this.onlyNumbersValidator(), Validators.maxLength(13)]]
});
this.salaireRetraiteService.getAllSalaires().subscribe((salaires) => {
this.salaires = salaires;
});
}
onlyNumbersValidator() {
return (control: AbstractControl) => {
const value = control.value;
if (!value) {
return null;
}
const onlyNumbers = /^[0-9]+$/;
if (!onlyNumbers.test(value)) {
return { onlyNumbers: true };
}
return null;
};
}`
Please how can I control the input field to only accepts numbers with maxlength in the html part