@Target(value={METHOD,FIELD,ANNOTATION_TYPE,CONSTRUCTOR,PARAMETER}) @Retention(value=RUNTIME) @Documented @Constraint(validatedBy=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<? extends javax.validation.Payload>[] |
payload
payload
|
public abstract java.lang.String message
public abstract java.lang.Class<? extends javax.validation.Payload>[] payload
public abstract java.lang.String charsetDef
コンポーネントに定義されたCharsetDef
の名前を指定する。