繁体   English   中英

如果自定义jQuery验证方法通过,如何返回false?

How to return false if custom jQuery validation method is passing?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我创建了自己的验证,该验证是使用json进行的-如果用户电子邮件不是唯一的,则动作将发送响应。 这是动作:

def checkemail
 respond_to do |format|
  format.jsonr do
    if User.where(email: params[:email]).exists? 
      render :json => {
            :status  => :false,
            }.to_json
    else
      render :json => {
            :status  => :true,
            }.to_json
     end
    end
  end
end

第二个变种( 不知道如何使用

   def checkemail
   render :nothing
    if User.where(email: params[:email]).exists? 
      return false
    else
      true
    end
  end

我想编写一个自定义jQuery验证方法,这是代码

   $.validator.addMethod("uniqueness", function(value) {
    $.getJSON('http://127.0.0.1:3000/checkemail.jsonr', { email: $('#email').val() }, function(data)  {
       return data.status
    });
}, 'Your email is not unique');
 .....
 "user[email]":{         //here is no error in name
    uniqueness: true
        },

也尝试过

同时,它告诉我电子邮件不是唯一的。

我想,我肯定是在自定义验证方法中发送true。

我的错误在哪里?

1 个回复

如果表单值有效,则该方法应返回true 您的方法将返回整个JSON对象,而不仅仅是data->status 而且,如果找到了电子邮件,由于您的checkemail函数返回true ,因此您的方法应返回!data->status来将其反转。 最后,当电子邮件是唯一的时,您的checkemail函数不会返回任何对象。 您需要一个else子句来返回:status => false

可以使用内置的远程验证来代替自定义方法:

"user[email]" {
  remote: {
    url: "http://127.0.0.1:3000/checkemail.jsonr",
    type: "get",
    data: {
      email: function() { return $("#email").val(); }
    }
  }
}

我认为这应该是Ruby-on-Rails脚本(注意:我以前从未做过RoR,我只是将其基于通过谷歌搜索找到的示例中,因此我可能没有完全正确的语法):

def checkemail
 respond_to do |format|
  format.json do
    if User.where(email: params[:email]).exists? 
      render :json => false
    else
      render :json => true
    end
  end
end
1 jQuery验证插件-自定义方法返回

我在返回适当的响应时遇到了麻烦。 它的工作类似于在验证parentAnswer上运行时,剥离名称以显示父名称Answer[12] 。 现在,如果此值是“ yes”,那么我想返回的是,如果尚未输入某些内容,则需要这样做。 希望插件已经有一些内置的方式来检查它是否已经填写完毕,而不必编写混 ...

3 jQuery Validation Plugin自定义方法始终返回无效[重复]

这个问题已经在这里有了答案: 上传前获取文件大小,图像宽度和高度 7个答案 请帮助找出我的jquery验证问题。 我正在使用jQuery Validation插件来验证我的表单。 我添加了一个自定义规则来检查图像的尺寸(尝试上传图像)。 这是自定义方法的代码 ...

6 jQuery验证addmethod始终返回false

我使用的是jQuery 1.7.2和jQuery验证1.8.2,我添加了ajax,我检查响应所有正确的值是否也传递了正确的值,但是仍然没有得到验证。 这是我的代码 我将addMethod更改为远程方法,现在我的代码如下所示,但仍然相同:( ...

7 asp.net jquery验证返回false

我有要验证的jQuery代码。 这段代码很好用,但是我想防止插入事件,它会显示警报,然后插入项目,然后在后面编写代码(我的控件位于formview中,这并不重要,因为函数正常工作。) ...

8 jQuery Form Validation Plugin:错误时返回false

在完成了如何制作jQuery插件的教程之后,我决定试一试并制作一个表单验证插件。 到目前为止,我已经设法实现了我希望的90%,并且唯一剩下的就是如果找到空字段则使表单返回false。 的jsfiddle 我把我的整个代码放在jsfiddle上,但似乎没有用。 也许是因为我需要包含 ...

9 return false不能在jquery中工作,需要字段验证

我有一个下拉列表(.color)来验证jquery.Default这个下拉列表的值是VÆLG 。我想在锚标记点击(.viewmore)验证这个。我的代码是这样的 在最后一条警告消息我正确地得到了错误的值。但是页面仍然重定向到锚标签的给定网址。任何人告诉我哪里出错了? ...

2013-04-20 05:39:18 2 163   jquery
10 Facebook登录验证jQuery返回true / false

我有一个简单的facebook validation我想实现到我的jQuery按钮。 当用户单击按钮时,它应检查是否已登录,如果为TRUE,则更改文本。 我发现这篇文章讨论了返回真/假状态,但是当我尝试在我的代码中实现它时,它没有用。 任何建议,我错了,谢谢。 得到它的工作: ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM