フォーマットの形式で日付を検証するコードがMMYY
あります。これにより、ボタンを送信する前に動的なポップアップダイアログボックスが表示されます。このためのコードは以下のように与えられます:
<ext:text name="caseDetailForm" property="phaseData.phaseDateExpiration" styleId="_dateExp"
style="width:100px" maxlength="4" titleKey="prompt.exp.date" onkeyup="validateCardExpiry(this);" />
関数は次のとおりです。
function validateCardExpiry(field) {
var cardExpRegEx1or2char = /^(0[1-9]?|1[0-2]?)$/;
var cardExpRegEx3or4char = /^(0[1-9]?|1[0-2])[0-9]?[0-9]?$/;
var cardExpDate = field.value;
var msg = '<bean:message key="errors.bad.input.characters.detected"/> - '+cardExpDate;
+ '\n' + "<bean:message key="prompt.exp.date"/>";
var failed = false;
for (var x = cardExpDate.length; x >= 0; x--) {
cardExpDate = cardExpDate.substring(0, x);
if (cardExpDate.length > 0 &&
((cardExpDate.length <= 2 && !cardExpRegEx1or2char.test(cardExpDate))
|| (cardExpDate.length > 2 && !cardExpRegEx3or4char.test(cardExpDate)))) {
failed = true;
}
else {
field.value = cardExpDate;
break;
}
}
if (failed) {
alert(msg);
}
}
MMYY
検証は上記のコードで正常に機能しています。しかし、MM/DD/YYYY
検証が必要です。このために、同じシナリオでポップアップウィンドウを使用して検証するにはどうすればよいですか。