Parsley JS 未验证

Posted

技术标签:

【中文标题】Parsley JS 未验证【英文标题】:Parsley JS not validating 【发布时间】:2016-12-03 23:20:39 【问题描述】:

我正在尝试使用parsley.js 验证我的表单,我正在按照官方好书所说的那样工作,但由于某些原因(我现在显然不知道),它不起作用。

这里是代码

<div class="container">
        <div class="row">
            <div class="col-md-4">
                <h2>Parsley JS Form Validation</h2>
                <form data-validate="parsley">
                    <label>Name </label>
                    <input type="text" name="fname"  class="form-control" required />
                    <label>Email </label>
                    <input type="text" name="email" class="form-control" data-type="email" data-trigger="change" required />
                    <label>Password </label>
                    <input type="text" name="lname"  class="form-control" data-type="password" required />
                    <br />
                    <input type="submit" class="btn btn-success" value="Submit">
                </form>
            </div>
        </div>
    </div>

这是Plunkr 链接。

【问题讨论】:

Official parsley.js documentation, examples 【参考方案1】:

我不知道如何保存,所以我在这里发布: 我更改了 jquery 版本和 parsley 版本(您使用的是旧版本),还添加了来自 parsley 站点的 css。您的标签属性错误。这行得通:

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Parsley JS</title>
        <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
        <link href="https://parsleyjs.org/src/parsley.css" rel="stylesheet" />
        <script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/parsley.js/2.3.4/parsley.min.js"></script>
    </head>
    <body>
        <div class="container">
            <div class="row">
                <div class="col-md-4">
                    <h2>Parsley JS Form Validation</h2>
                    <form data-parsley-validate="parsley">
                        <label>Name </label>
                        <input type="text" name="fname" class="form-control" required="true" />
                        <label>Email </label>
                        <input name="email" class="form-control" type="email" data-parsley-trigger="change" required="true" />
                        <label>Password </label>
                        <input  name="lname"  class="form-control" type="password" required="true" />
                        <br />
                        <input type="submit" class="btn btn-success" value="Submit">
                    </form>
                </div>
            </div>
        </div>        
    </body>
</html>

【讨论】:

Jquery 不是问题,而不是 data-validate="parsley" 它应该像 data-parsley-validate="parsley" 为了兼容性,我总是使用 jquery 1.XX 这就是我改变它的原因。 :)【参考方案2】:

问题是使用data-required 而不是我必须使用data-parsley-required 而不是data-validate="parsley" 它应该是data-parsley-validate="parsley"

Plunkr已修改

【讨论】:

以上是关于Parsley JS 未验证的主要内容,如果未能解决你的问题,请参考以下文章

使用 parsley.js 验证表单提交外部表单标记

Parsley.js isValid() 使用自定义验证器返回 null

parsley.js 验证但不提交

如何触发使用 Parsley.js 动态创建的元素的验证?

为啥我的自定义验证器在 parsley.js 中不起作用?

Parsley JS - 禁用单个验证器的消息