Ich habe eine Anforderung, dass bestimmte Eingabefelder maskiert werden müssen. Beispiel, gewünschter Betrag sollte als $ 44.444 angezeigt werden. Ich kann die Eingabemaskierung erreichen, indem ich eine Textmaske benutze (https://github.com/text-mask/text-mask). Das Problem, auf das ich stoße, ist, dass die Maskierung meine reaktiven Formvalidatoren bricht.Eckige reaktive Form - kundenspezifischer Validator
Komponente:
import {WithinLoanRangeDirective} from './within-loan-range.directive'
this.applicationForm = this.fb.group({
desiredAmount: ['', [Validators.required, WithinLoanRangeDirective] ]
})
Vorlage:
<input
[textMask]="{mask: numberMask}"
mdInput
formControlName="desiredLoanAmount
type="tel"
> <!--type tel to pop numpad-->
<div> {{ applicationForm.controls['desiredLoanAmount'].hasError('withinLoanAmountRange')}}</div>
Die Validierer jetzt Kontrolle min und max gegen den maskierten Eingang ($ 44.444) anstelle von (44.444). Gibt es eine Möglichkeit, den Wert vor dem Festlegen im Modell zu formatieren?
Wie bekomme ich, dass withinLoanAmountRange.message zurück in der Vorlage? Denke, ich vermisse etwas, um das zu verkabeln. Ich habe ein console.log (loanValue) nach "let loanValue" gesetzt und nichts wird beim Tippen auf die Konsole gedruckt. – Anthony
'applicationForm .controls ['willedLoanAmount'] .hasError ('intoLoanAmountRange'))' in der Vorlage – wesside
Alternativ können Sie die Anweisung in die Komponente importieren und sie in das validators-Array anstatt in die Vorlage einfügen. – wesside