电子邮件验证无法正常工作尽管启用了javascript并且jquery验证在某些情况下正常工作

时间:2016-07-19 11:44:28

标签: javascript jquery html twitter-bootstrap validation

我有一个令我困惑的问题。我创建了一个网页,点击一个按钮打开一个包含表单的引导模式窗口,我使用jquery验证。奇怪的是我收到了一些无效的电子邮件提交内容:

  1. hgchjf kdf surb。 j; e563 @ gamil .com
  2. 991199
  3. hcvjh CDs zm mnbv42768
  4. 阿里@ hzhsbvxbs
  5. ئؤؤللاااتتتن7حع9ه7908غ7898خح8ح9هع9
  6. 假设未启用javascript,则无法看到表单本身,因此提交无可置疑。

    jquery验证工作正常,我已经用几种不同的方案测试了它。 我的验证脚本如下

    <script type="text/javascript">
        $(document).ready(function(){
                    $("#contact-us-form").validate({
                          rules:{
                            emailAddress:{
                            minlength: 5,
                            maxlength: 255,
                            required: true,
                            validEmail: true
                            }
                          },
                ignore: '',
    
                highlight: function(element) {   
    
                    $(element).addClass('error_new');    
    
    
                    //HIGHLIGHT THE LABEL
                    var textelement = "#"+($(element).attr("name"))+"_text";
                    $(textelement).addClass('error_text');
    
                    //HIGHLIGHT THE BORDER
                    if($(element).siblings().length > 0){
                        var nextelement = $(element).siblings();
                        $(nextelement).css("border-color","#F00");  
                    }
    
                },
                unhighlight: function(element) {
                    $(element).removeClass('error_new');                                
    
                    var textelement = "#"+($(element).attr("name"))+"_text";
                    $(textelement).removeClass('error_text');
    
                    if($(element).siblings().length > 0){                   
                        var nextelement = $(element).siblings();
                        $(nextelement).css("border-color","#CCC");  
                    }                
                },
                errorPlacement: function(error, element) {
                  if($(element).attr("name") == "emailAddress"){
                    error.appendTo( element.parent("div") );
                  }
                },
                messages: {
                  emailAddress: {
                    required: "Please enter a valid email adress",
                    email: "Please enter a valid email adress"
                  }
               }              
            }); 
          jQuery.validator.addMethod("validEmail", function(value, element) 
    {    if(value == '') 
        return true;
    var temp1;
    temp1 = true;
    var ind = value.indexOf('@');
    var str2=value.substr(ind+1);
    var str3=str2.substr(0,str2.indexOf('.'));
    if(str3.lastIndexOf('-')==(str3.length-1)||(str3.indexOf('-')!=str3.lastIndexOf('-')))
        return false;
    var str1=value.substr(0,ind);
    if((str1.lastIndexOf('_')==(str1.length-1))||(str1.lastIndexOf('.')==(str1.length-1))||(str1.lastIndexOf('-')==(str1.length-1)))
        return false;
    str = /(^[a-zA-Z0-9]+[\._-]{0,1})+([a-zA-Z0-9]+[_]{0,1})*@([a-zA-Z0-9]+[-]{0,1})+(\.[a-zA-Z0-9]+)*(\.[a-zA-Z]{2,3})$/;
    temp1 = str.test(value);
    return temp1;
    }, "Please enter valid email.");
        });
    </script>
    

    我不明白为什么我收到无效的电子邮件提交。关于这个问题的任何想法都会有很大帮助。

0 个答案:

没有答案