首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jQuery验证器在单元测试中不起作用

jQuery验证器在单元测试中不起作用
EN

Stack Overflow用户
提问于 2013-06-24 16:17:08
回答 3查看 913关注 0票数 2

我有一个很小的HTML文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<html>
    <head></head>
    <body>
        <form id='MyForm'>
            <input type='text' required />
            <input type='submit' />
        </form>

        <script src="/js/jquery-1.9.0.js"></script>
        <script src="/js/jquery.validate.js"></script>
        <script>
            var validator = $("#MyForm").validate();
            alert(validator.form());
        </script>
    </body>
</html>

这会用"false“警告我,这是预期的行为。

当我使用js-test-driver进行单元测试时,问题就来了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
TestCase("MyTests", {

    setUp: function() {
        this.myform = "<form id='MyForm'><input type='text' required /><input type='submit'  /></form>";

        this.validator = $(this.myform).validate();
        jstestdriver.console.log("Does the form validate? " + this.validator.form());
    },

    test_empty: function() {
    },

});

这段代码返回给我字符串

表单是否有效?真的

当然,这是我的项目的简化版本,但重点是我似乎无法对正在开发的验证模块进行单元测试,因为jQuery验证插件似乎无法工作。我遗漏了什么?

EN

回答 3

Stack Overflow用户

发布于 2017-05-08 10:06:49

正如Enrique提到的,问题与jQuery的:hidden选择器有关。

修复:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$.validator.setDefaults({ ignore: "" });
var validator = $("#MyForm").validate();
alert($("#MyForm").valid());
票数 2
EN

Stack Overflow用户

发布于 2013-06-25 11:36:18

我找到了!显然,插件bz默认忽略了".hidden“输入。就像jQuery医生说的,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Elements can be considered hidden for several reasons:

- They have a CSS display value of none.
- They are form elements with type="hidden".
- Their width and height are explicitly set to 0.
- An ancestor element is hidden, so the element is not shown on the page.

因为单元测试是无浏览器的,所以输入元素满足这个要求,因此被验证插件忽略!

=)

票数 1
EN

Stack Overflow用户

发布于 2013-06-24 18:45:23

尝试使用.valid(),这是触发测试的正确方式,并获得一个表示表单有效性的布尔值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script>
        var validator = $("#MyForm").validate();
        alert($("#MyForm").valid());
</script>

////

this.validator = $(this.myform).validate();
jstestdriver.console.log("Does the form validate? " + $(this.myform).valid());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17280180

复制
相关文章
ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现
在简单了解了Unobtrusive JavaScript形式的验证在jQuery中的编程方式之后,我们来介绍ASP.NET MVC是如何利用它实现客户端验证的。服务端验证最终实现在相应的ModelValidator中,而最终的验证规则定义在相应的ValidationAttribute中;而客户端验证规则通过HtmlHelper<TModel>相应的扩展方法(比如TextBoxFor、EditorFor和EdidtorForModel等)出现在生成的被验证HTML元素中。毫无疑问,服务端验证和客户端验证必须采
蒋金楠
2018/01/15
7.1K0
jQuery:delegate中select()不起作用的解决方法
jQuery有一个很好用的delegate(事件委派)功能,可以给当前以及将来(动态添加)的元素绑定一个事件处理函数。 比如下面的例子,动态添加一个输入文本框后,我想让所有文本框(不管是不是动态添加的)在获取焦点时,自动转大写。 <!doctype html> <html> <head> <title>delegate测试</title> <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery
菩提树下的杨过
2018/01/24
2.8K0
WordPress中的jQuery库不起作用的相关问题
WordPress 中的jQuery 库问题曾经困扰了我一段时间。如果仅仅加载WordPress 自带的jQuery 库,在使用一些jQuery 插件的时候明明是代码没有错误,但就是不起作用,该有的效果不能实现;但加载了原版的jQuery 库却又可以了,这样一来却同时加载了两个jQuery 库,网页速度拖慢了而且根本没有必要。 后来才了解到:为了防止与其他 JS 库(如 YUI)冲突,WordPress 内置 jQuery 库的末尾都在原版的基础上加入了 jQuery.noConflict()这个东东,以至
Jeff
2018/01/19
4K0
Vue 中使用 JQuery 插件不起作用
有时候在 vue 的代码中使用 jQuery 会不起作用,这是因为 vue 还没有绑定变量,所以我们使用的 jQuery 根本就找不到目标变量,就不会执行,正确的做法是先设置一个时延,稍微等一等 vue 的加载。
wsuo
2020/10/26
2.3K0
为什么 strace 在 Docker 中不起作用?
在编辑“容器如何工作”爱好者杂志的能力页面时,我想试着解释一下为什么 strace 在 Docker 容器中无法工作。
用户8639654
2021/09/18
6.4K0
用jquery实现表单验证_jquery验证插件
功能强大的 jQuery 表单验证插件,适用于日常的 E-mail、电话号码、网址等验证及 Ajax 验证,除自身拥有丰富的验证规则外,还可以添加自定义的验证规则。
全栈程序员站长
2022/11/09
4.3K0
在bootstrap中col-md-offset-* 偏移不起作用
在bootstrap中,使用col-md-offset-1、col-md-offset-2、col-md-offset-3、col-md-offset-4等来设置偏移量很常见,但最近就遇到一个问题了,在最新版的bootstrap4.5中,这个值不起作用了。
kirin
2020/10/27
12.6K1
jquery 表单验证
("form :input.required").each(function(){
用户5760343
2019/10/10
3.6K0
jquery 表单验证
jQuery登录验证
[#ftl] [#include "/_inc/inc.ftl"] <html> <head> [#include "/_inc/meta.ftl"] [#include "/_inc/link.ftl"] [#include "/_inc/css.ftl"] <link rel="stylesheet" href="${ctxPath}/resources/assets/css/login.css"> <!-- HTML5 Shim and Respond.js I
week
2018/08/27
2K0
JQuery选择器(中)
HTML5学堂:在学习JQuery开发的时候,选择器有多种,而我们将接着介绍选择器的其他类型,希望对大家有帮助! 5.临近选择器: $("mix+mix"),选取下一个兄弟节点.如:$("div +#test"),id为test的的节点必须是div的下一个兄弟节点. <div></div><p id="test"></p>在$("div + #test")中能取到p段落节点 <div></div><p></p><p id="test"></p>则不能取到 6.属性选择器: 把属性选择器不放在css选择器里面
HTML5学堂
2018/03/12
2K0
JQuery 学习—JQuery Validation表单验证范例[通俗易懂]
jQuery Validato表单验证插件,它是基于jQuery类库,实现了js脚本于页面html代码的分离。你可以划分多个校验组,每个组的校验都是互不影响。对一个表单对象,你只需要写一行代码就可以轻松实现无数种(理论上)脚本控制。
全栈程序员站长
2022/07/19
1.8K0
jquery validate验证方法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/107823.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/20
9110
在 ts + Jest 单元测试中 debugging
温馨提示:因微信中外链都无法点击,请通过文末的 “阅读原文” 到技术博客中完整查阅版;
JSCON简时空
2020/03/02
4.1K0
jquery validation engine ajax验证,jQuery Validation Engine 表单验证「建议收藏」
可以依赖多项,如:validate[condRequired[id1,id2]][Demo]
全栈程序员站长
2022/11/09
1.5K0
在SpringBoot单元测试中添加参数
https://github.com/baomidou/mybatis-plus/issues/4417
阿超
2022/08/21
1.9K0
List.append() 在 Python 中不起作用,该怎么解决?
Python 是一种强大而灵活的编程语言,它提供了许多方便的数据结构和操作方法,其中之一就是列表(List)。列表是一个有序的集合,可以包含不同类型的元素,并且可以进行添加、删除和修改等操作。在 Python 中,我们通常使用 List.append() 方法向列表末尾添加元素。然而,在某些情况下,你可能会遇到 List.append() 方法不起作用的问题。本文将详细讨论这个问题并提供解决方法。
网络技术联盟站
2023/06/01
2.7K0
jquery 表单验证插件validate
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script src="../../scripts/jquery.js" type="text/javascript"></script> <script src="lib/jquery.validate.js" type="text/javascript"></script> <style type="text/css">
用户5760343
2019/10/10
1.6K0
jquery 表单验证插件validate
jQuery formValidator表单验证插件
jQuery formValidator表单验证插件是客户端表单验证插件。 Query formValidator表单校验插件支持的验证功能(还有很多功能没有罗列)罗列如下: 支持所有类型客户端控件的校验 支持jQuery所有的选择器语法,只要控件有唯一ID和type属性。 支持函数和正则表达式的扩展。提供扩展库formValidatorReg.js,你可以自由的添加、修改里面的内容。 支持2种校验模式。第一种:文字提示(showword模式);第二种:弹出窗口提示(showalert模式) 支持多个校验组
wangxl
2018/03/07
2.5K0
jQuery validate 表单验证插件
最近写了两个组表单提交的页面,好久没用jQuery,在写的时候总遇到一些莫名其妙的为难题,这里记录一下。
libo1106
2018/08/08
1.6K0
jQuery Password Validation(密码验证)
jQuery Password Validation(密码验证)插件扩展了 jQuery Validate 插件,提供了两种组件: 一种评价密码的相关因素的功能:比如大小写字母的混合情况、字符(数字、特殊字符)的混合情况、长度、与用户名的相似度(可选的)。 一种使用评价功能显示密码强度的验证插件自定义方法。显示的文本可以被本地化。
陈不成i
2021/07/23
1.6K0

相似问题

Ajax验证在jquery验证引擎中不起作用

21

Jquery验证器在IE 7或8中不起作用

11

jquery验证在partialview中不起作用?

23

表单验证在jQuery中不起作用

09

jQuery验证在表单中不起作用

110
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文