Я использую превосходный плагин jquery.validation от Jörn Zaefferer, и мне было интересно, есть ли простой способ автоматически обрезать элементы формы до их проверки?
Ниже приведен сокращенный, но рабочий пример формы, которая проверяет адрес электронной почты:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
type="text/javascript"></script>
<script src="http://ajax.microsoft.com/ajax/jquery.validate/1.5.5/jquery.validate.js"
type="text/javascript"></script>
<script type="text/javascript">
$().ready(function() {
$("#commentForm").validate({
rules: {
email: {
required: true,
email: true
}
}
});
});
</script>
</head>
<body>
<form class="cmxform" id="commentForm" method="get" action="">
<label for="cemail">E-Mail:</label><input id="cemail" name="email"
class="required email" />
<input class="submit" type="submit" value="Submit"/>
</form>
</body>
</html>
Проблема в том, что некоторые пользователи запутываются, потому что они случайно вводят пробелы в свой адрес электронной почты, например, "test@test.com". И форма не будет отправлена и имеет сообщение об ошибке: «Пожалуйста, введите действительный адрес электронной почты». Нетехнические пользователи не знают, как распознать пробелы, и могут просто покинуть сайт, а не пытаться понять, что они сделали неправильно.
В любом случае, я надеялся, что смогу связать "jQuery.trim(value)
" до проверки, так что
Пробелы удалены, и ошибка проверки никогда не возникает?
Я мог бы использовать addMethod , чтобы создать свою собственную функцию проверки электронной почты. Но я уверен, что есть более элегантное решение?