2016-09-12 3 views
6

Wenn ich versuche Zustand input[type="email"] auf onChange Ereignis zu ändern this.setState({email: e.target.value}) mit Ich erhalte diese Reihe von Warnungen in der Konsole (Chrome-Browser):Eingabetyp E-Mail-Warnung in der Konsole werfen. Reagieren

DOMPropertyOperations.js:143 The specified value "s" is not a valid email address. 
DOMPropertyOperations.js:143 The specified value "so" is not a valid email address. 
DOMPropertyOperations.js:143 The specified value "som" is not a valid email address. 
DOMPropertyOperations.js:143 The specified value "some" is not a valid email address. 

Dieses seltsame Verhalten tritt auf, wenn Sie state ändern, wenn Sie passieren Daten werfen props alles funktioniert super.

Irgendwelche Ideen?

P.S. Ich habe noValidate zum Formular hinzugefügt.

+0

Können Sie versuchen, mit der 'this.isMounted()' 'wie if (this.isMounted()) {this.setState ({E-Mail: e.target.value})}' –

+0

Ich werde versuchen, aber don‘ Ich verstehe, wie es verwandt ist, ich bin sicher, dass Komponente ist montiert – Smile0ff

+0

Ich habe versucht, was Sie anbieten und in der neuesten Reagieren Version 'isMounted 'Methode ist veraltet stattdessen sollten wir ComponentWillMount verwenden, aber es macht keinen Sinn in meinem Fall – Smile0ff

Antwort

0

Es gibt gute Dokumentation über das, was die Validierung Sie auf E-Mail-Eingänge tun können, lesen Sie diese und passen Sie Ihre Form:

Data form validation - Web developer guides | MDN

Validate durch die richtige REGEX auch, und entscheiden, ob Sie Live-Validierung wollen (keyup , Tastendruck) oder wenn Sie den Fokus auf diesen Eingang verlieren. Hoffe es hilft dir besser zu verstehen und hilft dir auch bei der Lösung deines Problems.

+0

Diese Frage ist nicht über Validierung, es ist nur eine Behandlung von kontrollierten Eingabe in React was für mich eine merkwürdige Warnung ist – Smile0ff