Я пытаюсь использовать встроенный валидатор Jquery на моей странице. Проблема в том, что у меня есть определенные поля, которые обязательны для заполнения, только если JobID (введенный в другое поле) еще не существует в нашей базе данных. У меня есть простой сервис, который просто принимает JobID и возвращает True или False в зависимости от того, существует ли JobID, но я не могу получить эту информацию там, где я хочу. Пример кода:
$("#dep_form").validate({
rules: {
JobID: {
required: true,
digits: true,
minlength: 3
},
OrgName: {
required: function(element) { //This field is required if the JobID is new.
return $("#jobinfo").html().length==15; }
}
},
messages: {
JobID: {
required: "Enter a Job Number.",
digits: "Only numbers are allowed in Job ID's.",
minlength: "Job Number must be at least 3 digits"
},
OrgName: {
required: "Select a Practice from the dropdown list."
}
},
errorClass: "ui-state-error-input",
errorLabelContainer: "#errorbox",
errorElement: 'li',
errorContainer: "#validation_errors",
onfocusout: false,
onkeyup: false,
focusinvalid: false
};
В настоящее время я использую ленивый метод для проверки (показано выше). Однако теперь у меня есть доступ к сервису по URL:
var lookupurl = "/deposits/jobidvalidate/?q=" + $("#id_JobID").val() + "&t=" + new Date().getTime();
- это страница, которая будет содержать только слово True или False в зависимости от того, существует ли данный JobID. Я пробовал полдюжины различных способов установки переменных и вызова функций внутри функций, и до сих пор не могу найти способ просто вернуть значение этой страницы (к которому я пытался получить доступ с помощью $ .get ()) в мой валидатор , таким образом, обязательный параметр имеет значение true, если задание не существует, и false, если задание уже существует. Какие-либо предложения? Спасибо.