2013-04-10 165 views
0

我正在使用jQuery驗證插件。這是在我的網站一個簡單的形式,它是MVC 4JQuery驗證插件問題

<form name="profileForm" id="profileForm" action="@Url.Content("~/myprofile")" method="post" enctype="multipart/form-data"> 
       <input type="text" class="name input" placeholder="First name" name="FirstName" id="FirstName" value="@Request["FirstName"]"/> 
       <input type="text" class="company input" placeholder="Last Name" name="LastName" id="LastName" value="@Request["LastName"]"/> 
       <textarea class="tarea input" placeholder="About" name="AboutUser">@Request["AboutUser"]</textarea> 

,並使用一些客戶端腳本

</body> 
</html>   



    <script src="/Scripts/jquery-1.8.2.js"></script> 


     <script src="/Scripts/jquery.unobtrusive-ajax.js"></script> 
    <script src="/Scripts/jquery.validate.js"></script> 
    <script src="/Scripts/jquery.validate.unobtrusive.js"></script> 
    <script src="/Scripts/additional-methods.js"></script> 




    <script type="text/javascript"> 
     $(document).ready(function() { 


     $('#profileForm').validate({ 
      rules: { 
       FirstName: { 
        required: true, 
        number: true 
       }, 
      } 
     }); 

    }); 




    </script> 

事情做工精細當我添加「必需的」類的「名字」字段和驗證插件可以正確驗證它。但是,當我不這樣做(正如我在上面給出的代碼中所做的那樣),驗證插件根本行不通。有沒有我缺少的東西,或者在驗證插件中有一些限制。

+0

您在上面所示應該工作的代碼。 *呈現* HTML的樣子是什麼?當頁面呈現時,字段'name'屬性可能不同。 – Sparky 2013-04-10 23:19:06

回答

0

添加</form>標記,您的代碼工作正常。也許你的呈現 HTML看起來與你期望的不同。

Browser -> View Source 

...並確保name屬性爲每個字段匹配name你內.validate()指定爲您rules

DEMO:http://jsfiddle.net/skt3b/

jQuery的

$(document).ready(function() { 

    $('#profileForm').validate({ 
     rules: { 
      FirstName: { 
       required: true, 
       number: true 
      } 
     } 
    }); 

}); 

HTML

<form id="profileForm" name="profileForm" action="" method="post" enctype="multipart/form-data"> 
    <input type="text" name="FirstName" id="FirstName" class="name input" placeholder="First name" value=""/> 
    <input type="text" name="LastName" id="LastName" class="company input" placeholder="Last Name" value=""/> 
    <textarea name="AboutUser" class="tarea input" placeholder="About"></textarea> 
    <input type="submit" /> 
</form>