検証ルールの追加
フラグメントの設定オプションを定義する際に、text
タイプのフィールドに有効なエントリーのルールを決める validation
プロパティを追加することができます。 ルールのタイプ(text
、number
、email
、url
、または pattern
)を指定することで、各フィールドが受け入れるデータのタイプを決定します。 また、カスタムのエラーメッセージを追加して、無効なエントリーをユーザーに通知することもできます。
テキスト検証ルール
次のJSONコードは、 text
タイプフィールドの有効なエントリー(つまりminLength
およびmaxLength
)で使用される最小および最大文字数を設定するtext
検証ルールを追加します。
{
"fieldSets": [
{
"fields": [
{
"label": "validate text length",
"name": "text1",
"type": "text",
"typeOptions": {
"validation": {
"errorMessage": "Enter a minimum of 10 characters. Entries cannot exceed 30 characters.",
"type": "text",
"minLength": 10,
"maxLength": 30
}
}
}
]
}
]
}
数値検証ルール
次のJSONコードは、 text
タイプフィールドの有効なエントリーの数値範囲(つまりmin
およびmax
)を定義するnumber
検証ルールを追加します。
{
"fieldSets": [
{
"fields": [
{
"dataType": "int",
"label": "validate number",
"name": "text2",
"type": "text",
"typeOptions": {
"validation": {
"errorMessage": "Enter a number between 5 and 10.",
"type": "number",
"min": 5,
"max": 10
}
}
}
]
}
]
}
メール検証ルール
次のJSONコードは、メール構文を要求し、text
タイプフィールドの有効なエントリーの文字長(つまりminLength
およびmaxLength
)を定義するemail
検証ルールを追加します。
{
"fieldSets": [
{
"fields": [
{
"label": "validate email",
"name": "text3",
"type": "text",
"typeOptions": {
"validation": {
"errorMessage": "Enter a valid email address.",
"type": "email",
"minLength": 1,
"maxLength": 30
}
}
}
]
}
]
}
URL検証ルール
次のJSONコードは、適切なURLプロトコルを要求し、text
タイプフィールドの有効なURLの文字長(つまりminLength
およびmaxLength
)を定義するurl
検証ルールを追加します。
{
"fieldSets": [
{
"fields": [
{
"label": "validate url",
"name": "text4",
"type": "text",
"typeOptions": {
"validation": {
"errorMessage": "Enter a valid URL.",
"type": "url",
"minLength": 1,
"maxLength": 100
}
}
}
]
}
]
}
パターン検証ルール
次のJSONコードは、正規表現を使用してpattern
検証ルールをtext
タイプフィールドに追加して、有効なエントリーを定義します。
正規表現値の文字をエスケープするためにバックスラッシュを使用する場合(例:\d
)、最初にバックスラッシュをエスケープするためにJSON
ファイル内で2つのバックスラッシュを使用する必要があります (例:\\d
)。 JSONの文法については、 IETF のドキュメントを参照してください。
{
"fieldSets": [
{
"fields": [
{
"label": "validate pattern",
"name": "text5",
"type": "text",
"typeOptions": {
"validation": {
"errorMessage": "Enter a valid 10 digit phone number.",
"type": "pattern",
"regexp": "([0-9]{3})[.-]?([0-9]{3})[.-]?([0-9]{4})"
}
}
}
]
}
]
}