特定の語句が項目に入力された場合に詳細の入力を必須にする
ジルカー Techは、電子部品アセンブリや類似商品を製造しています。製造した品目の品質確認は、外部のサービスプロバイダーに委託しています。アセスメント結果は、アセスメントと評価レポートを通じて製造管理者に共有されます。多くの場合、フォーム内の重要な項目が空のままだったり、入力された詳細が不明確だったりします。このように情報が不足していると、確認のやり取りが発生して後続の処理に遅れが生じます。また、業務フロー改善プランに詳細を利用しようとする際にも問題が発生します。今後のレポートでこのような問題を防ぐため、製造管理者は、項目に特定の語句が入力された場合に詳細な説明の入力を促す確認処理を追加することにしました。
目的の結果を得るために設定する必要がある入力規則は次のとおりです。
ユーザーが次の値(miscellaneous、not specific、recommended、critical、nondescript)のいずれかを入力した場合にエラーを表示するよう、項目を検証します。通知のメッセージは「より具体的な説明が必要な語句が使用されています。詳細な説明を入力してください。」です。
上記のルールに使用する関数。
if(Description.contains('miscellaneous') || Description.contains('recommended') || Description.contains('critical') || Description.contains('not specific') ||
Description.contains('nondescript')) {
response.put('status','error');
response.put('message', 'より具体的な説明が必要な語句が使用されています。より詳細な説明を入力してください。');
} else {
国別の郵送先住所の郵便番号パターンの検証
次の国について、郵送先住所に入力された郵便番号が特定のフォーマットに従っているか検証します。
※以下のコードを、指定された箇所でスニペットに追加します。
1. 国がバングラデシュの場合、郵便番号は9999のフォーマットにする必要があります。
条件:zipCode.matches('([0-9]{4})' ) == false
2. 国がカナダの場合、郵便番号はA9A 9A9のフォーマットに従う必要があります。
条件:zipCode.matches('([A-Z]{1}[0-9]{1}[A-Z]{1}[0-9]{1}[A-Z]{1}[0-9]{1})') == false
3. 国がジャマイカの場合、郵便番号はアルファベットで始まり、その後に数字が続くAAAAA99のフォーマットにする必要があります。
条件:zipCode.matches('([A-Z]{5}[0-9]{2})') == false
4. 国がラトビアの場合、郵便番号はアルファベット、ハイフン、数字がこの順序で含まれるAA-9999のフォーマットにする必要があります。
条件:zipCode.matches('([A-Z]{2}-[0-9]{4})') == false
IBANなどの識別データの正規表現の検証
一部のデータは、国ごとに異なる特定のフォーマットや表現に従います。国際銀行口座番号などのデータは、国コードに続いて口座番号を含む特定の構造に従います。また、口座番号の文字数は国によって異なります。
※以下のコードを、指定された箇所でスニペットに追加します。
1. 国がアルバニアの場合、IBAN番号は国コードALで始まり、その後に28桁の数字の口座番号が続く必要があります。
条件:IBANNumber.matches('(^(AL)[0-9]{28})') == false
2. 国がベルギーの場合、国コードはBLで、その後に16桁の数字の口座番号が続く必要があります。
条件:IBANNumber.matches('(^(BL)[0-9]{16})') == false
3. 国がドイツの場合、国コードはDEで、その後に22桁の数字の口座番号が続く必要があります。
条件:IBANNumber.matches('(^(DE)[0-9]{22})') == false
ISSN番号の入力フォーマットの検証
国際標準逐次刊行物番号は、出版コードを識別する一意の8桁のシリアル番号です。番号は、ハイフンで区切られた2つの4桁の数字(0378-5955)のような特定のパターンで表されます。ISSNコードを使用して記事を検索する場合、この番号は指定されたフォーマットで入力する必要があります。そのため、関数を使用してISSN項目のフォーマットを検証できます。
※以下のコードを、指定された箇所でスニペットに追加します。
条件:ISSNNumber.matches('([0-9]{4}-[0-9]{4})') == false
電話番号の国際フォーマットの検証
個人情報では、顧客が入力する連絡先番号は国際フォーマットに従う必要があります。そのため、電話番号項目では、番号が+で始まり、その後に国コードと国内番号が続く必要があることを検証します。国コードは関数に入力できます。
※以下のコードを、指定された箇所でスニペットに追加します。
1. 英国の番号は、+44-20-999999999のフォーマットにする必要があります。
条件:phoneNumber.matches('(^(\+44-20)-[0-9]{9})') == false
2. 米国の番号は、+1-999-999999999のフォーマットにする必要があります。
条件:phoneNumber.matches('(^(\+1)-[0-9]{3}-[0-9]{9})') == false
3. オランダの電話番号は、+31-99-999999999 の形式にする必要があります。
condition: phoneNumber.matches('(^(\+31)-[0-9]{2}-[0-9]{9})') == false
担当者による完了予定日への過去の日付入力の制限
担当者が完了予定日に過去の日付を入力できないように制限する必要があります。たとえば、営業担当者が商談の完了予定日を編集する場合、過去の日付を入力できないようにします。この項目は将来の日付のみで更新する必要があります。
*以下のコードを、スニペット内の指定された箇所に追加します。
condition: days360(today, closingDate.toDate()) > 0