いくつかの異なる電話番号スキームの電話番号を検証する CustomValidator があります。クライアント側の JavaScript は次のようになります。
validatePhoneNumber(sender, args) {
cleanNumber = args.Value.replace(/\D/, "");
country = $("#" + CountryID).get(0).value;
switch (country) {
case "North America":
args.IsValid = validateNAPhoneNumber(cleanNumber);
if (!args.IsValid) sender.errormessage = "* Not a NA Phone #";
break;
case "UK":
args.IsValid = validateUKPhoneNumber(cleanumber);
if (!args.IsValid) sender.errormessage = "* Not a UK Phone #";
break;
...
}
}
実際の検証は適切に行われ、CustomValidator には常に正しい IsValid プロパティがあります。ただし、sender.errormessage は、この関数呼び出しの直後にデフォルト値に書き換えられているようです。エラーメッセージの値を変更して「固定」するにはどうすればよいですか?