@Target(value={METHOD,FIELD,ANNOTATION_TYPE,CONSTRUCTOR,PARAMETER})
@Retention(value=RUNTIME)
@Documented
@Constraint(validatedBy=nablarch.core.validation.ee.SystemChar.SystemCharValidator.class)
@Published
public @interface SystemChar
許容文字集合 "全角文字" を次のように定義する。
許容文字集合の定義方法は、範囲指定やリテラル指定などいくつかあるので、詳細はnablarch.core.validation.validator.unicode
パッケージのjavadocを参照。
<component name="全角文字" class="nablarch.core.validation.validator.unicode.RangedCharsetDef">
<!-- 省略 -->
</component>
上で定義した許容文字集合 "全角文字" のバリデーションを行うドメインを次のように定義する。
このドメイン定義を使用して、バリデーションを行う設定についてはpublic class SampleDomain
{@Length(max = 10)
@SystemChar(charsetDef="全角文字") String name;
}
Domain
のjavadocを参照。
このバリデーションでは、デフォルトではサロゲートペアを許容しない。
(例えLiteralCharsetDef
で明示的にサロゲートペアの文字を定義していても許容しない)
サロゲートペアを許容する場合は次のようにコンポーネント設定ファイルにSystemCharConfig
を設定する必要がある。
<component name="ee.SystemCharConfig" class="nablarch.core.validation.ee.SystemCharConfig">
<property name="allowSurrogatePair" value="true"/>
</component>
Modifier and Type | Optional Element and Description |
---|---|
boolean |
allowLineSeparator
改行コードを許容するかどうか。
デフォルトは
false (許容しない)。 |
java.lang.String |
charsetDef
許容文字集合定義の名称
|
java.lang.Class<?>[] |
groups
グループ
|
java.lang.String |
message
メッセージ
|
java.lang.Class<?>[] |
payload
payload
|
public abstract java.lang.String message
public abstract java.lang.String charsetDef
コンポーネントに定義されたCharsetDef
の名前を指定する。