我正在尝试使用Parsley.js来匹配密码,但它似乎不起作用。这是代码:
<div class="control-group">
<!-- Password-->
<label class="control-label" for="password">Password</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on"><i class="icon-eye-close"></i></span>
<input type="password" id="password" name="password" placeholder="" class="input-xlarge" data-trigger="change" data-required="true" data-minlength="6">
</div>
<p class="help-block">Password should be at least 4 characters</p>
</div>
</div>
<!-- ************ NOT WORKING *************** -->
<div class="control-group">
<!-- Password -->
<label class="control-label" for="password_confirm">Password (Confirm)</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on"><i class="icon-eye-close"></i></span>
<input type="password" id="password_confirm" name="password_confirm" placeholder="" class="input-xlarge" data-equalto="#password" data-trigger="change focusout" data-required="true" >
</div>
<p class="help-block">Please confirm password</p>
</div>
</div>
此部分 data-equalto =“#password”应该进行检查,但似乎无效。
我将这样的形式称为欧芹验证:
<form class="form-horizontal" id="userForm" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" data-focus="first" data-validate="parsley">
答案 0 :(得分:4)
在这几个小时里一直在努力,找到答案JoelCDoyle。我想重新进行迭代,因为虽然问题已经过时,但Joel提供的答案仍有效。谢谢! :)
<input type="password" name="pw" id="pw"
parsley-minlength="8"
parsley-required="true"
/>
<input id="pwtwo" type="password" name="pw-verify"
data-parsley-equalto="#pw"
parsley-required="true"
/>
这是使比较函数与parsley.js一起工作所需的属性:
data-parsley-equalto="#pw"
答案 1 :(得分:1)
我不确定这对你有帮助,但我在这里有一个有用的解决方案:http://codepen.io/anon/pen/KNyjoY
基本安装
<form data-parsley-validate>
...
</form>
Javascript安装(我正在使用此功能)
<form id="form">
...
</form>
<script type="text/javascript">
$('#form').parsley();
</script>
我为#password
添加了一个事件,以触发#cpassword
表单验证。
$('#password').on('change input keyup', function() {
if (this.value) {
$('#cpassword').prop('required', true).parsley().validate();
} else {
$('#cpassword').prop('required', false).parsley().validate();
}
});
答案 2 :(得分:0)
在最新的Parsley版本中,您不再通过“data-”属性调用API。不太确定,如果您的版本就是这种情况(我知道数据值过去有效),但请尝试使用新API。
因此,您调用与“parsley-validate”属性不同的表单,如果设置为True,则为True。并且使用“parsley- [constraint]”调用约束。 正如官方Parsley.js网站所述,它不太兼容W3C,但对于一些奇怪的原因,他喜欢它。然而,他还提供了一个解决方案,为Parsley定义一个命名空间,使其与W3C兼容。
如果你能提供旧的欧芹版本,我也可以看一下。
<强>注意强>
这个答案(也许是问题)已过时。 答案可能不再有效,请继续关注此答案的评论。