形式验证的另一个问题

时间:2013-11-09 09:31:26

标签: jquery validation jqueryform

好的,我正在尽我所能通过测试和练习来学习jquery。我知道有一些完美的库可以用于验证表格,但我想自己学习至少目前! 我在this Link中有一个表单,我在验证表单时遇到错误。你可以看到我有两个简单的输入电子邮件和用户名现在我要做的是检查enter image description here的整个输入。第一步是查看是否有任何空输入,如果是这样,jquery将生成错误消息(现在正在做)enter image description here然后我想添加一些由字段提交的验证器来检查所有输入,这里我遇到问题
首先,代码实际上不是验证输入,也是将错误消息添加到其他输入!最后即使在输入正确的输入表格后仍未提交!

这是我的代码:

$(document).ready(function() {  
var email = $('form #email').val();
$('#myform').submit(function() {
        var abort = false;
        $("div.err").remove();
        $(':input[required]').each(function() {
            if ($(this).val()==='') {
                $(this).parent().after('<div class="err">This is a Requierd Field</div>');
                abort = true;
            }
            else{
                if (!email.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
                $(this).parent().after('<div class="err">Email Not Match</div>');
                abort = true;                                         
               }
            }
        }); 
        if (abort) { return false; } else { return true; 
        }
    })
});

1 个答案:

答案 0 :(得分:0)

要解决“电子邮件不匹配”问题,请更改此项 -

else{
  if (!email.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
    $(this).parent().after('<div class="err">Email Not Match</div>');
    abort = true;                                         
  }
}

对此 -

else{
  if (!email.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
    $(email).parent().after('<div class="err">Email Not Match</div>');
    abort = true;                                         
  }
}