Я нашел решение своей проблемы. После нескольких дней проб, ошибок и исследований это сработало для меня:
<asp:CustomValidator ID="CustomAddressValidator" runat="server" ClientValidationFunction="CheckAddressValidation" ControlToValidate="txtAddress" CssClass="error-block" Display="Dynamic" SetFocusOnError="True">Cannot contain a PO Box number</asp:CustomValidator>
Также я изменил свой Javascript в одну функцию:
function CheckAddressValidation(sender, args) {
var address = args.Value;
var addressPattern = /(p\.?\s?o?\.?\s?b\.?(ox)\.?(\s|[0-9])?|post\soffice)/i;
if (addressPattern.test(address)) {
args.IsValid = false;
return;
}
args.IsValid = true;
}
Урок - Другая часть файла CreateProfile.ascx имеет Custom Validator в том же формате, в котором я публиковал изначально. Мои начальники считают, что Microsoft внесла некоторые изменения в это, вероятно, поэтому размещение сообщения об ошибке в теге ErrorMessage , похоже, не работает. Не стесняйтесь поправлять меня, если я где-то ошибаюсь. Но если вы застряли в подобной ситуации, моё решение должно помочь.
Он не возвращает функцию обратного вызова, поэтому он не может быть оценен.
У вас должно быть что-то подобное в вашем Код PHP:
echo $_GET['callback'] . '(' . $jsonData . ');';
Ха, извините, если бы вы использовали php, это было бы так.
Вы хотите это в своем файле javascript, и вам нужно будет указать жестко закодированный обратный вызов, потому что это статический список.
См .: http://www.ibm.com/developerworks/library/wa-aj-jsonp1/
altCognito правильно. Вот рабочий пример:
Поместите это в верхнюю часть вашей страницы, с которой вы звоните, в
$.getJSON("http://www.yourotherdomain.com/testcross.php?jsoncallback=?",
function(data){
$('body').html(data.name).css("color","green");
});
и php, который будет возвращать вещи:
$data = '{"name" : "hello world"}';
echo $_GET['jsoncallback'] . '(' . $data . ');';