У меня есть форма, которая проверяется с помощью Плагин проверки Jquery , и мне нужен способ, как минимум, 2 проверки через Ajax в одном и том же поле ...
Пример: у меня есть поле с именем Логин, которое принимает имя пользователя или адрес электронной почты, и мне нужно проверить, является ли это существующим адресом электронной почты в базе данных или существующим именем пользователя в базе данных, возвращая различные сообщения и выполняя 2 разных URL-адреса длявыполните эти проверки.
Есть ли в любом случае вызов двух разных удаленных методов с разными сообщениями и URL-адресами, или я должен добавить 2 новых метода, основанных на синхронных вызовах AJAX?
EDIT
Хорошо, может быть, я должен сказать причину, по которой я хочу вызвать 2 различных удаленных метода или создать 2 синхронных вызова AJAX:
Проблема в том, что я использую Zend, и я делаюсистема, которая может проверять ошибки на стороне сервера (через PHP) и на стороне клиента (через Jquery Validate), создаваемая на лету PHP-классами, которые расширяются от исходного Validators of Zend).
Пример
class Esytek_Form_JqueryValidator_NotEmpty extends Zend_Validate_NotEmpty implements Esytek_Form_JqueryValidator_Interface {
public function elementSetOptions(Zend_Form_Element $element){
$element->setRequired(true);
}
public function getJqueryCode(){
return 'required: true,';
}
public function getJqueryMessage($mensagem){
foreach ($this->_messageVariables as $ident => $property) {
$mensagem = str_replace("%$ident%", (string) $this->$property, $mensagem);
}
return 'required: "<br>'.$mensagem.'",';
}
public function getNewJqueryFunction(){
return null;
}
...
}
Esytek_Form_JqueryValidator_Interface
interface Esytek_Form_JqueryValidator_Interface extends Zend_Validate_Interface{
public function elementSetOptions(Zend_Form_Element $element);
public function getJqueryCode();
public function getJqueryMessage($mensagem);
public function getNewJqueryFunction();
}
Есть еще один большой класс, который нужно поместить туда, но, вкратце, все, что он делает, этовызовите методы каждого Jquery Validator, агрегируйте весь код Jquery внутри строки, а затем в форме мы должны вызвать один метод, который записывает код jquery, который выполняет проверки.
В этом контексте яхочу создать класс, который мог бы генерировать более одного типа проверки AJAX в одном поле, чтобы поддерживать все возможные случаи, которые могут произойти при проверке AJAX для поля ввода ... Другими словами, мне нужно что-то подобное:
public function getNewJqueryFunction(){
return array ('AjaxValidation_'.$count=>'$.validator.addMethod("tel_format"+'.$count.',
function(value,element) {
//Ajax call of URL
}," ");'
);
}
Или что-то вроде Esytek_Form_JqueryValidator_NotEmpty , который может реализовать более одного удаленного метода в одном поле, поэтому я могу использовать этот JqueryValidator в любом случае вызова Ajax.
Таким образом, мой вопрос: «Каков наилучший подход и как я могу сделать это в коде jquery?»