2016-08-16 18 views
4

は、私は私の反応コンポーネントで電子メールの入力を持っています有効なメール。 これはデフォルトのHTML5電子メール検証メッセージだと思うし、各キーストロークで状態を変更してから反応して反応が再発生し、HTML5がそれを再検証する。タイプを「テキスト」に変更すると修正されますが、「電子メール」として保存することをお勧めします。これらのhtml5警告を避けるために、反応でこれを処理する適切な方法は何でしょうか?React.jsとHTML5電子メールの検証

+1

Reidフォームを実行すると、このライブラリでははるかに簡単になります。https://github.com/prometheusresearch/react-forms –

答えて

4

制御入力の場合、ReactはElement.prototype.setAttribute()を呼び出し、少なくともChrome 52では(まだ他のブラウザでテストしていません)、コンソールに警告が記録されます。この警告は、制御されていない入力、または非リアクションのバニラHTML5形式では表示されません。

<input>については、リアクションソースのDOMPropertyOperations.setValueForProperty()、特に162行目(v15.3.0)をご覧ください。

1

入力タグは<form>ですか?フォーム要素にnovalidate属性を追加して、HTML5検証を無効にします。 HTML5の検証が本当ですか?私は、HTML5検証がコンソールにエラーを出すのを思い出しません。

すぐにエラーメッセージが表示されないように、ユーザーの入力を嫌うような音がします。あなたのためにそれを行うライブラリがいくつかあります。

+1

あなたは正しいです、それはhtml5検証ではありません(メッセージはhtml5のように見えます)。反応からくる警告。 noValidateを追加しても機能しませんでした –

関連する問題