2014-02-05 49 views
1

我正在使用jquery/javascript的bootstrap3表單來驗證輸入。這是從here在javascript/jquery/html表單中進行多重驗證

這裏是我的表單的一部分採取:

<form id="contact-form" action="#" class="form-horizontal"> 
<fieldset> 

<div class="form-group"> 
<label class="sr-only" for="name">Your Name</label> 
<div class="controls"> 
<input type="text" class="input-xlarge form-control" name="name" id="name" placeholder="Your Name"> 
</div> 
</div> 

<div class="form-group"> 
<label class="sr-only" for="email">Email Address</label> 
<div class="controls"> 
<input type="text" class="input-xlarge form-control" name="email" id="email" placeholder="Email"> 

這裏是JavaScript:

<script> 
$(document).ready(function(){ 

jQuery.validator.setDefaults({ 
    errorClass: "help-block" 
}); 
    $('#contact-form').validate({ 
    rules: { 
     name: { 
     minlength: 3, 
     regex: "/^[A-Za-z\']*$/", 
     required: true 
     }, 
     email: { 
     required: true, 
     email: true 
     }, 
     subject: { 
     minlength: 2, 
     required: true 
     }, 
     message: { 
     minlength: 2, 
     maxlength: 400, 
     required: true 
     } 
    }, 
     highlight: function(element) { 
      $(element).closest('.control-group').removeClass('success').addClass('error'); 
     }, 
     success: function(element) { 
      element 
      .text('OK!').addClass('valid') 
      .closest('.control-group').removeClass('error').addClass('success'); 
     } 
    }); 
}); // end document.ready 
</script>  

的必填字段,位數工作特棒。我還打算添加進一步的驗證,例如,在名稱字段中接受字母。我曾嘗試使用正則表達式,但似乎沒有工作。

  1. 如何在這種類型的javascript驗證中使用正則表達式(或多個)驗證?
  2. 當一個字段有多個驗證(只有字母和超過3個字符)時如何給出適當的錯誤信息?

我對web開發很新,所以這些可能會出現noob問題。現在就開始使用html。請引導正確的方向。

+0

[正則表達式驗證(http://stackoverflow.com/questions/280759/ jQuery的驗證 - 如何到添加-A-規則的正則表達式驗證) – tilda

回答

0

對於電子郵件,你應該添加這樣的事情:

$.validator.addMethod("email", function(value, element) { 
      return this.optional(element) || /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/i.test(value); 
    }, "Invalid email address"); 

然後郵件規則應該是:

email: "required email",