このコードは機能せず、理由がわかりません:
これは特別な 9 桁のカードバリデーターです。
ページ「9digitCardTextBox」にテキストボックスがあり、.aspxページでクライアント側バリデーターを呼び出しています。
エラー: Microsoft JScript のランタイム エラー: オブジェクトが必要です。
バリデータ:
<asp:CustomValidator runat="server" ID="CustomValidator16" EnableClientScript="true"
Display="Dynamic" OnServerValidate="9digitcard_ServerValidate" CssClass="error"
SetFocusOnError="true"
ClientValidationFunction="9digitcard_ClientValidate">cc not good</asp:CustomValidator>
クライアント側の呼び出し:
function 9digitcard_ClientValidate(sender, e)
{
num = $("input[name*='9digitCardTextBox']").val();
sum = 0; mul = 1; l = num.length;
for (i = 0; i < l; i++)
{
digit = num.substring(l-i-1,l-i);
tproduct = parseInt(digit ,10)*mul;
if (tproduct >= 10)
sum += (tproduct % 10) + 1;
else
sum += tproduct;
if (mul == 1)
mul++;
else
mul–-;
}
if ((sum % 10) == 0)
e.isValid = true;
else
e.isValid = false;
}