2017-10-10 2 views
1

Springコントローラーの制限として、@Sizeという注釈があります。 私は正確にサイズが何であるかに説明を探していたし、私はこれを見つけた:要素サイズは何を表していますか?

フィールドまたはプロパティの大きさが評価され、指定された境界と一致する必要があります。フィールドまたはプロパティがStringの場合、文字列のサイズが評価されます。フィールドまたはプロパティがCollectionの場合、Collectionのサイズが評価されます。フィールドまたはプロパティがMapの場合、Mapのサイズが評価されます。フィールドまたはプロパティが配列の場合、配列のサイズが評価されます。オプションのmax要素またはmin要素のいずれかを使用して、境界を指定します。

しかし、文字列のサイズをどのように計算するかはわかりませんでした。その中の文字の数ですか?それはバイト数ですか?誰か知っていますか?

答えて

5

あなたはその説明を見つけたと言うが、javax.validation.constraints.SizeJavadocませんStringはのは、それを行いますCharSequence

+0

であることを

The annotated element size must be between the specified boundaries (included). Supported types are: CharSequence (length of character sequence is evaluated) Collection (collection size is evaluated) Map (map size is evaluated) Array (array length is evaluated) null elements are considered valid. 

注氏は述べています。ありがとう! – Yuval

1

文字列内の文字数です。

The annotated element size must be between the specified boundaries (included). 
Supported types are: 

CharSequence (length of character sequence is evaluated) 
Collection (collection size is evaluated) 
Map (map size is evaluated) 
Array (array length is evaluated) 

null elements are considered valid. 

StringCharSequenceであり、我々はこのインタフェースのlength()方法のコメントを見れば、私たちは以下を参照してください:

@SizeJavadoc氏は述べています

長さは数ありますシーケンス内の16ビットのcharの数。

@Sizeと他のバリデータの詳細はhttp://beanvalidation.org/を参照してください。

関連する問題