为啥jquery-validate rule放在validate()里面不生效?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥jquery-validate rule放在validate()里面不生效?相关的知识,希望对你有一定的参考价值。

<input id="name" name="name" type="text" required />如果直接在字段加required, 则提交时会弹出提示不能为空.
但是如果在validate()里面设置required, 则不会弹出提示.
$(document).ready(function() $("#commentForm").validate( rules: name: required: true, ); );
如图,

参考技术A 你这是自找烦恼啊,有现成的不用,非要在方法里加,就加个required不就行了嘛,把这个jquery加进来就是了,提示语可以自己改嘛追问

name只是其中一个字段啊, 还有其他字段啊, 比如密码之类的, 需要用到equalTo

追答

你的那个required不就是加在name字段里嘛,equalTo也是的啊
pwd1: required: true,pwd2: required: true, equalTo: "#pwd1"
这样是的吧?我都快忘记了

追问

那remote呢, 不好也写到字段吧.
主要目的是想把规则独立出来管理.

追答

jquery-validate应该是个jquery文件吧,你把它引到ide中,然后对这个文件进行修改,我估计肯定能修改,我记得我以前也改过,我改的好像是提示语,需要验证什么,应该也是可以加的,然后在字段后面加就行了

本回答被提问者采纳

为啥 JUnit 中的 @Rule 注释字段必须是公开的?

【中文标题】为啥 JUnit 中的 @Rule 注释字段必须是公开的?【英文标题】:Why @Rule annotated fields in JUnit has to be public?为什么 JUnit 中的 @Rule 注释字段必须是公开的? 【发布时间】:2012-12-29 10:09:14 【问题描述】:

在 JUnit 测试用例中,@Rule 注释的字段必须是公共的。它打破了常见的 Java 编码约定(所有类成员变量都不应该是公共的)。为什么 JUnit 需要这个?

@Rule 的文档:https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/Rule.java

【问题讨论】:

【参考方案1】:

JUnit 运行器将需要以反射方式访问该字段以运行规则。如果该字段是私有的,则访问将抛出IllegalAccessException

另一种选择是让运行者在运行规则之前将访问权限从私有修改为公共。但是,如果启用了安全管理器,这可能会导致问题。

如果您想避免在测试类中包含公共字段,您可以从 JUnit 4.11 中注释返回 Rule@Rule@ClassRule 的方法。

【讨论】:

+1 您还可以使用@Rule 注释方法,这样可以避免问题。您应该将此添加到您的答案中。 谢谢马修,我不知道。显然是 4.11 中的新功能。 @KErlandsson - 你完全确定吗?这就是 JUnit API 文档所说的:“字段必须是公共的,而不是静态的,并且是 TestRule(首选)或 MethodRule 的子类型” @dziki 你指的是什么?我确定到底是什么?

以上是关于为啥jquery-validate rule放在validate()里面不生效?的主要内容,如果未能解决你的问题,请参考以下文章

为啥将 WHERE 子句放在视图之外的性能很差

为啥 Python pyusb usb.core 访问由于权限而被拒绝,为啥 rules.d 不能修复它?

jquery-validation JQ 表单验证

为啥 rewrite_rule 仅在文件夹存在时才有效?

jquery-validator 的使用方法

jquery-validation 使用