2014-12-30 53 views
1

我想用parsley.js验证使用简单的窗体,但不工作。我的cdn工作正常,但我没有得到任何验证。代码是:Parsley.JS表单验证不起作用

<!doctype html> 
<html> 
<head> 
     <title>Parsley.js form validation</title> 
     <script src="js/bootstrap.min.js"></script> 
     <script src="https://code.jquery.com/jquery-2.1.3.js"></script> 
     <script src="https://cdnjs.cloudflare.com/ajax/libs/parsley.js/2.0.6/parsley.min.js"></script> 
     <link rel="stylesheet"type="text/css"href="css/bootstrap.min.css"> 
     <script> 
      $('.parsley-validate').parsley(); 
     </script> 
</head> 
<body> 
<div class="container"> 
    <div class="row"> 
     <div class="span6 offset3"> 
      <h2>Parsley.JS</h2> 
      <form role="form" class="parsley-validate" data-validate="parsley"> 
       <label>Name</label> 
       <input type="text" class="form-control" name="name" data-parsley-required="true"><br/> 
       <label>Email</label> 
       <input type="text" class="form-control" name="name" data-parsley-required="true" data-parsley-type="email" data-parsley-trigger="change" /><br/> 
       <label>Website</label> 
       <input type="text" name="name" class="form-control" data-parsley-required="true" data-parsley-type="url" data-parsley-trigger="change" /><br/> 
       <input type="button" value="submit" class="btn btn-success"/> 
      </form> 
     </div> 
    </div> 
</div> 
</body> 
</html> 
+0

你是什么意思与“不工作?”任何错误或什么? – Sefa

+4

在表单存在之前,您正在调用'$('。parsley-validate')。parsley();'在''中。将脚本移动到''的末尾,或者将它包装在文档中准备好 - '$(function(){$('。parsley-validate')。parsley();})' – Rhumborl

+0

总是使用DOM Ready事件对于JavaScript代码。如果你不这样做,这总是会导致问题。 – Mayhem

回答

0

我不相信你需要使用数据标签来验证,如果你打电话给$('.parsley-validate').parsley();。看警告根据本条文档:Parsley.js Javascript Installation

编辑:我本来应该更具体的,当同样使用$('.parsley-validate').parsley()你不需要在formdata-validate='parsley。这就是上面的链接指出的。当然,您仍然可以在元素上使用数据标记来定义验证。

+0

数据标签定义了验证规则。问题存在于元素存在之前的函数调用中 –

0

您在窗体存在之前致电$('.parsley-validate').parsley();<head>。移动脚本到<body>结束或准备在文档中包装它:

<script> 
$(function(){   
    $('.parsley-validate').parsley(); 
}) 
</script>