2013-04-10 168 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>