jQuery: как сделать валидацию формата email только если поле вводиться?

kibi

Новичок
jQuery: как сделать валидацию формата email только если поле вводиться?

Использую JQuery, делаю простую валидацию е-мейл перед вводом формы:
делаю валидиацию с регулярными выражениями в файле check_emails.php все работает отлично.


Код:
rules: {
......
.....
contactEmail: {
required: true,
remote: "check_emails.php"
  }
.....
.....
}
Пожалуйста подскажите, как можно сделать проверку, только в случае, если е-мейл был введен пользователем?

Пробовал так:

Код:
contactEmail: { required: function() {
 return $('#contactEmail').val()!="");
},  remote: "check_emails.php"
 }
почему-то не идет. Спасибо за совет.

-~{}~ 11.02.09 22:39:

Сам разобрался, лищнюю скобку поставил:

contactEmail: { required: function() {
return $('#contactEmail').val()!="";
}, remote: "check_emails.php"
},
 

dimagolov

Новичок
А набуя валидировать на сервере?

PHP:
function EmailInputOnBlur() {
	if (!this.value)
		return;	
	if (!this.value.match(/^\w+([.\+\-]\w+)*@\w+([.\-]\w+)+$/)) {
		this.focus();
		alert('IncorrectEmail!!');
	}
}
function SetInputAsEmail(oI) {
	oI.onblur= EmailInputOnBlur;
}
 

HraKK

Мудак
Команда форума
Имхо, лучше продублировать чем гонять лишний запрос.
 

kibi

Новичок
Автор оригинала: dimagolov
А набуя валидировать на сервере?

PHP:
function EmailInputOnBlur() {
	if (!this.value)
		return;	
	if (!this.value.match(/^\w+([.\+\-]\w+)*@\w+([.\-]\w+)+$/)) {
		this.focus();
		alert('IncorrectEmail!!');
	}
}
function SetInputAsEmail(oI) {
	oI.onblur= EmailInputOnBlur;
}
Если мне нужно проверить, чтобы введенный е-мейл не состоял в списке е-мейлов. Если делать валидацию в Джава скрипт - в любом случае можно открыть код и посмотреть с каким е-мейл сравниивается поле е-мейл. А какая проверка и что находится в файле check_email.php - никто не видит.
 

-SkyNet-

Новичок
вопрос замыканий

когда Вы инициируете плагин, в поле required попадает значение поля на момент инициации, а по идее должен уже после того, как пользователь ткнул кнопку отправить
 
Сверху