PageSourceSearch

https://www.idaten.ne.jp/portal/common/js/crossCheckValidate.js

js idaten.ne.jp collected 2026-10-02 06:58:24 UTC 3,788 bytes, 90 lines download raw bytes

1/**
2 * メールアドレス、パスワードの確認用項目との完全一致チェックを実行します。 不一致、
3 * もしくは、OpenTipsによる入力チェックでエラーが存在する場合、
4 * falseを返却します。
5 * 
6 * クラス名は下記の通りとする。
7 * 
8 * メールアドレス
9 *     本入力項目 : cross-check-mail-XXXXX-origin
10 *     確認用項目 : cross-check-mail-XXXXX-01、cross-check-mail-XXXXX-02
11 *     ※XXXXXは任意の文字列
12 * 
13 * パスワード
14 *     本入力項目 : cross-check-XXXXX-origin
15 *     確認用項目 : cross-check-XXXXX-01
16 *     ※XXXXXは先頭に"mail"を含まない任意の文字列
17 * 
18 * また、入力チェックエラー時のメッセージ出力位置には下記のクラスを指定する。
19 *     message-area-XXXXX
20 *     ※XXXXXは入力項目に指定したクラス名のXXXXXに一致させる
21 * 
22 * @returns {Boolean}
23 */
24function crossCheck() {
25	// メッセージコンテナから設定済みのメッセージ一覧を取得する。
26	var messages = beans.validationService.messageContainer.getMessageList();
27
28	// 確認項目との完全一致チェック、メッセージの設定を行う。
29	// CrossCheck対象入力項目を取得する。
30	// "cross-check-"から始まるクラスを持つ項目を対象とする。
31	var targetObjArray = $('input[class*=cross-check-]');
32	var classValue = "", checkValue = "", targetClass = "";
33	var messageKey = "";
34
35	if (targetObjArray != null || targetObjArray.length > 0) {
36		// チェック処理を実施する。
37		for ( var i = 0; i < targetObjArray.length; i++) {
38			classValue = targetObjArray.eq(i).attr('class');
39			if (classValue.indexOf("-origin", 0) == -1) {
40				// 確認用入力項目の場合、次の要素をチェックする。
41				continue;
42			}
43
44			// クラス名の"-origin"以前の文字列を取得する。
45			targetClass = classValue.slice(classValue.indexOf(
46					"cross-check-", 0), classValue.indexOf("-origin", 0));
47
48			// 確認用入力項目の値を取得する。
49			if (targetClass.indexOf("cross-check-mail-", 0) > -1) {
50				// メールアドレスの場合、確認用入力項目の2テキストボックスを取得する。
51				var inputArray = targetObjArray.filter('[class*=' + targetClass
52						+ ']');
53				checkValue = inputArray.filter('[class*=' + targetClass + '-01]').val()
54						+ '@'
55						+ inputArray.filter('[class*=' + targetClass + '-02]').val();
56				if (checkValue == '@')
57					checkValue = "";
58				messageKey = "EXCC30396";
59			} else {
60				// パスワード(メールアドレス以外)の場合、確認用テキストボックスを取得する。
61				checkValue = targetObjArray.filter('[class*=' + targetClass + '-01]').val();
62				messageKey = "EXCC30368";
63			}
64
65			if ((checkValue != "" || targetObjArray.eq(i).val() != "")
66				&& checkValue != targetObjArray.eq(i).val()) {
67				// エラーメッセージを取得する。
68				var template = beans.messageFactory.getMessageText({}, "{" + messageKey + "}");
69				var messageText = ot.message.MessageUtils.formatMessageText({}, template, null);
70				var message = {
71						"fieldId" : targetObjArray.eq(i).attr('name'),
72						"level" : "ERROR",
73						"text" : messageText
74				};
75				// メッセージを追加する。
76				messages.push(message);
77			}
78		}
79	}
80
81	// メッセージコンテナのメッセージ一覧をクリアする。
82	beans.validationService.messageContainer.clearMessages();
83	// メッセージコンテナにメッセージを再設定する。
84	beans.validationService.messageContainer.addMessages(messages);
85	// メッセージを再表示する。
86	beans.validationService.messageContainer.refresh();
87
88	// 結果を返却する。
89	return messages.length == 0;
90}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.