2016-04-21 7 views
1

Ich bin mir nicht sicher disable-validation-message tut, was ich will, aber ich fand es nahe genug.Ersatz für deaktivieren-Validierung-Nachricht in Angular2

Grundsätzlich suche ich nach einem Weg von Einstellungsfehlern auf einer Control Eingabe von formBuilder und verwenden maxlength als auch definierte Winkel zu verhindern.

<input type="text" ngControl="foo" maxlength="500" /> 
+0

Sie meinen, die 'ng-xxx' Klassen sollten nicht zu den Elementen hinzugefügt werden? Was ist das Problem mit ihnen? –

+0

'ng-xxx' Klassen werden von css angesprochen, ich will nur keine Fehlermeldungen in' control.errors' –

Antwort

1

aktualisieren

const DUMMY_MAX_LENGTH_VALIDATOR = CONST_EXPR(
new Provider(NG_VALIDATORS, {useExisting: forwardRef(() => DummyMaxLengthValidatorr), multi: true})); 

@Directive({ 
    selector: '[maxlength][ngControl],[maxlength][ngFormControl],[maxlength][ngModel]', 
}) 
export class DummyMaxLengthValidator { 
    validate(control) {} 
} 

als bei Ihrer Komponente

@Component({ 
    ... 
    providers: [DUMMY_MAX_LENGTH_VALIDATOR] 
}) 

original

hinzufügen Dieses b funktionieren könnte ut ist wahrscheinlich zur Zeit schließlich

<input type="text" ngControl="foo" [attr.maxlength]="'500'" /> 

AFAIK brechen maxlength von constructor(@Attribute('maxlength') ...) gelesen wird, die nur statische Werte geht. Ein gebundener Wert kann möglicherweise umgehen. Außerdem werden die Validatoren für den Selektor [ngControl][maxlength] angewendet.

+0

Ich bekomme diese 'Kann nicht an 'maxlength' binden, da es keine bekannte native Eigenschaft ist ' –

+0

Richtig, sollte '[attr.maxlength]' –

+1

das funktioniert, ** original ** ist genug. Danke, dass du mir geholfen hast, den Winkelwähler zu täuschen. ;) –