使用jquery进行电子邮件和密码验证

时间:2014-04-04 10:51:21

标签: jquery ruby-on-rails

在我的sign in页面中,我从用户处获取emailpassword,即:

    <%= form_for(:session, url: sessions_path,:html => {:id => "signin"}) do |f| %>
<table width="100%">
  <tr>
    <td align="right">
      <%= f.label(:error, "", :id => "errormessage") %>
    </td>
  </tr>
  <tr>
    <td align="center" style="color: #212121;">
      <%= f.text_field :email, :placeholder => "Email", :id => "tf_email" %>
      <br/>
    </td>
  </tr>
  <tr>
    <td align="center" style="color: #212121;">
          <%= f.password_field :password, :placeholder => "Enter Password", :id => "tf_password" %>
    </td>
  </tr>
</table>
    <% end %>

我想显示验证错误,如果用户不输入电子邮件和密码或输入无效的电子邮件或密码长度小于6,那么它会显示验证错误消息,如下所示:

    <script type="text/javascript">
    $('#signin').submit(function() {
    var email = new RegExp(/\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i);
    var inp = $("#tf_email");
    var pw = $("tf_password");
    var message =  $("#errormessage").html("Invalid Email/Password ");
    if(inp.val() == ""  && pw.val() == "" )
    {
        message.show();

        // var emailaddr = $("#emailAddr").val();

        //alert(emailaddr);
        return false;
    }
    elseif( pw.length < 6 || !inp.val().match(email))
    {
        message.show();
    } 

});
</script>

但它不工作意味着没有显示任何错误信息:请建议我,等待你的回复。谢谢。

1 个答案:

答案 0 :(得分:1)

您的var pw = $("tf_password");缺少主题标签; - )

var pw = $("#tf_password");

否则看起来不错