パターンに対するデータの検証
Archived
3 タスク
10 分
シナリオ
TGBは、インドに支社を開設することを決定しました。 インドからの候補者は、本人確認のためにAadhaar IDを提示する必要があります。 インド在住の候補者が、以下の要件を満たすAadhaar IDを入力するようにします。
- IDには、アルファベットや特殊文字は含まれません。
- IDは、4つの数字の3グループで構成され、4つの数のグループはそれぞれスペースで区切られています。
- IDは、「0」または「1」のいずれかで始まるものではありません。
「Collect personal information」ステップで候補者情報レイアウトを設定し、Aadhaar IDのフィールドを表示します。 ユーザーがインドの3文字の国コード(IND)を入力した場合にのみ、フィールドが表示され、必須となるようにフォームを設定します。
以下の表は、チャレンジに必要なログイン情報をまとめたものです。
| ロール | ユーザー名 | パスワード |
|---|---|---|
| シニアシステムアーキテクト | SSA@TGB | rules |
チャレンジ ウォークスルー
詳細なタスク
1 エディットバリデートルールを作成してAadhaar IDパターンをテストします。
- Dev StudioのCreateメニューで、Data Model > Edit Validateをクリックして「Create Edit Validate」フォームを表示します。
- 「Create Property」フォームのLabelフィールドで、「Validate Aadhaar ID」と入力します。
- Create and openをクリックしてエディットバリデートルールを作成します。
- 「Validate Aadhaar ID edit validate」フォームのJava Sourceフィールドで、次のJavaコードを入力します。
// Regex to check valid Aadhaar number
String regex= "^[2-9]{1}[0-9]{3}\\s[0-9]{4}\\s[0-9]{4}$";// Compile the ReGex
java.util.regex.Pattern p = java.util.regex.Pattern.compile(regex);// If the string is empty, return false
if (theValue == null || theValue.trim().equals("")) return false;// Pattern class contains matcher() method to match the given string and the regular expression
java.util.regex.Matcher m = p.matcher(theValue);// Return if the string matched the ReGex
return m.matches(); - Save をクリックして、エディットバリデートルールの設定を完了します。
2 Aadhaar IDプロパティを作成する
- Createメニューで、Data Model > Propertyをクリックして「Create Property」フォームを表示します。
- 「Create Property」フォームのLabelフィールドで、「Aadhaar ID」と入力します。
- Classフィールドに、「TGB-HRApps-Data-Candidate」と入力します。
補足: デフォルトでは、Data Explorerに表示されたデータタイプに対応するクラスのみが利用可能なクラスのリストに表示されます。 Data Explorerでデータタイプを公開することで、TGB-HRApps-Data-Candidateクラスを選択肢のリストに追加することができます。
- Create and openをクリックしてプロパティルールを作成します。
- Aadhaar IDプロパティフォームで、「Advanced」タブをクリックします。
- Advanced タブのMax lengthフィールドで、「15」を入力して、ユーザーが15文字を超える値を入力できないようにします。
- Expected lengthフィールドに、「15」と入力します。
- Use validateフィールドで「ValidateAadhaarID」を選択して、ユーザーがプロパティに値を指定する場合にValidate Aadhaar IDエディットバリデートルールを適用するようにします。
- Saveをクリックして、Aadhaar IDプロパティの設定を完了します。
3 「Aadhaar ID」フィールドを「Collect personal information」ステップに追加します。
- App Explorerで、Candidate > User Interface > Section > CollectPersonalDetails_0を選択して「Collect personal details」セクションを開きます。
- CollectPersonalDetails_0_Candidate埋め込みセクションレイアウトのヘッダーをクリックします。
- レイアウトヘッダーでOpen Ruleアイコンをクリックして、新しいタブで埋め込みCollectPersonalDetails_0_Candidateセクションを開きます。
補足: 埋め込みセクションを開いた場合、ブラウザーに「埋め込みセクションの変更は、セクションが更新されるまでCollectPersonalDetails_0セクションに反映されません」と説明するワーニングが表示されます。 OKをクリックしてダイアログを閉じます。
- CollectPersonalDetails_0_Candidateセクションのコピーを、ロック解除バージョンのルールセットに保存します。
- Data captureリストでText inputを選択します。
- カーソルをCandidate informationレイアウトにドラッグし、テキスト入力コントロールをHome Phoneフィールドの右側に配置します。
- テキスト入力フィールドをダブルクリックして、Cell Propertiesダイアログボックスを開きます。
- Cell PropertiesダアログボックスのPropertyフィールドに、「.AadhaarID」と入力するか選択します。
- VisibilityリストでCondition (expression)を選択します。 Cell Propertiesダイアログボックスが更新され、「Visibility」フィールドにCondition for visibilityフィールドが表示されます。
- Condition for visibilityフィールドに、「.pyCountryCode='IND'」と入力します。
- RequiredリストでCondition (expression)を選択します。 Cell Propertiesダイアログボックスが更新され、以下の「Visibility」フィールドにCondition for required が表示されます。
- Condition for requiredフィールドに、「.pyCountryCode='IND'」と入力します。
- Submitをクリックして、Cell Propertiesダイアログボックスを閉じます。
- Saveをクリックして、セクションルールの設定を完了します。
- Check inをクリックしてルールをチェックインし、セクションをそれ以上編集しないようにします。