2016-09-22 13 views
0

React/JSXでユーザーの入力文字列が空であるかどうかを確認する方法はありますか?JSXで空の文字列をチェックする

Component.js

{((this.props.description.name ==" ")||(this.props.description.name.length==""))? 

ユーザーが何もまたは1つのスペースに長いですが、空の文字列は、それが失敗した長い1つの以上のスペースである場合は、空の文字列を入力しない場合は、この状態は動作します。これをチェックするためのJSXのトリックがありますか、またはこれを私の減速機で処理する必要がありますか?

+0

文字列をトリムし、長さが0であることを確認してください。 –

答えて

2

あなたはトリミングされた文字列をチェックすることができます:それは空の文字列だ場合、これは(空白や改行を削除します)文字列をトリミング

{this.props.description.name.trim() == ""} 

をして、チェックがあります。ここにCodePenのデモンストレーションがあります。

+0

なぜ両方をチェックしますか? 'name ==" "'ならば長さは0です。 –

+0

@EvanTrimboliは 'trim()'を完全に忘れました。 – Li357

+0

'this.props.description.trim().name'を編集しましたか? –

1

テキストを簡単にトリミングし、空の文字列と比較することができます。 試してみてください:それはどのように動作するか見てみましょう:

{((this.props.description.name.trim() =="") || (this.props.description.name.trim().length==0)) 

私はレデューサーについて思い出させてくれましたか? Reduxを使用していますか? Reduxを使用してフォームデータを処理する場合、Reduxフォーム(https://github.com/erikras/redux-form)を使用して時間を節約できます。

+0

長さプロパティが文字列と等しいのはいつですか? – Li357

+0

'trim()'はなぜ '' 'と同じになるのですか? –

+0

ありがとう、私は私の答えを変更しました。 –