1000hz Bootstrap验证无法正常工作

时间:2017-04-06 05:41:10

标签: javascript jquery twitter-bootstrap validation email

我正在使用1000hz bootstrap validation实施验证。一切顺利,除了两件事 -

1)。即使我同时输入两个密码,data-match也无效。这是代码 -

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script type="text/javascript" src="../js/login-reg.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/1000hz-bootstrap-validator/0.9.0/validator.min.js"></script>

<div class="form-group">
  <input type="password" name="inputPassword" data-minlength="6" id="password" tabindex="1" class="form-control" placeholder="password" value="" required>
  <div class="help-block">Minimum of 6 characters</div>
</div>
<div class="form-group has-feedback">
  <input type="password" name="confirm-password" id="confirm-password" tabindex="1" class="form-control" placeholder="confirm password" value="" data-match="#inputPassword" data-match-error="Whoops, these don't match" required>
  <span class="glyphicon form-control-feedback"></span>
  <div class="help-block with-errors"></div>
</div>
<div class="form-group">
  <div class="row">
   <div class="col-sm-6 col-sm-offset-3">
    <input type="submit" name="register-submit" id="register-submit" tabindex="4" class="form-control btn btn-register" value="Register Now">
   </div>
  </div>
</div>

我用谷歌搜索了一下,我得到了一个类似问题here的问题。我在同一页面上查看了1000hz提供的解决方案,并检查了我的代码,但无法解决我的问题。 请告诉我我做错了什么?

2)。当我只键入example@gmail(这么多)时,它会验证电子邮件是否正确。它不应该验证.com吗?

<div class="form-group">
   <input type="email" name="email" id="Email" tabindex="1" class="form-control" placeholder="email" value="" data-error="Email address is invalid" required>
   <div class="help-block with-errors"></div>
</div>

我的意思是电子邮件地址与example@gmail.com类似,因此它有三个主要部分 - before @some text after @.com in the end。当我输入example@时,它显示“电子邮件无效”,我也同意,但是当我输入example@g时没有显示任何提醒。这是验证电子邮件地址的正确方法吗?还是我在说感觉?验证电子邮件地址的正确方法是什么?

PS-请访问网站并尝试撰写example@example@g

2 个答案:

答案 0 :(得分:0)

1)你写了     data-match="#inputPassword"

但“#”符号通常对应于元素的id,而不是名称。在你的情况下不确定,但值得检查。

2)电子邮件验证很难正确执行,而且只执行there is a "@" sign somewhere in the middle of the string等基本检查。您必须自己执行其他检查(例如,如果有.com),使用更高级的框架或自定义脚本(或仅后端),抱歉!

编辑:最后索赔的来源: http://formvalidation.io/validators/emailAddress/#is-ab-valid-email-address

答案 1 :(得分:0)

这是一个小错误。 data-match获取id值。正确的代码应该是 -

<div class="form-group">
  <input type="password" name="Password" data-minlength="6" id="inputPassword" tabindex="1" class="form-control" placeholder="password" value="" required>
  <div class="help-block">Minimum of 6 characters</div>
</div>
<div class="form-group has-feedback">
  <input type="password" name="confirm-password" id="confirm-password" tabindex="1" class="form-control" placeholder="confirm password" value="" data-match="#inputPassword" data-match-error="Whoops, these don't match" required>
  <span class="glyphicon form-control-feedback"></span>
  <div class="help-block with-errors"></div>
</div>