使用 jquery.validationEngine.js 处理默认表单值
Handling default form values with jquery.validationEngine.js
我正在使用jquery.validationEngine.js进行表单验证。
我是从 http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/下载了这个js
这个网站。但它不适用于检查默认值的验证,例如我的名字字段的值为"名字"。我想要验证以检查此字段是否不应为空,但它不起作用,因为它包含默认值"名字"。
我也希望这应该在jquery.validationEngine.js文件中工作,因为我必须在表单上进行许多验证,并且我正在使用这个js。
我的领域是
<input type="text" id="Uname" name="Uname" value="User Name" onfocus="if(this.value=='User Name')this.value='';" onblur="if(this.value=='')this.value='User Name';" />
如果有人使用此文件,请告诉我并帮助解决此问题。
使用validationEngine以您描述的方式验证表单,则似乎至少有三种基于文档的解决方案。
1) 您可以在翻译文件中为每个默认文本值创建一个新的自定义正则表达式,然后将该自定义正则表达式添加到相关表单项中。 这可能是您最棘手的选项,因为您需要使用负面的前瞻性或类似的东西来正确使用正则表达式。
2)让验证器调用您编写的一个或多个函数来处理您的特殊情况。 我不知道validationEngine是否允许您将参数传递给函数 - 文档对此没有任何说明 - 所以我猜它没有。 这可能意味着您需要为每个默认值编写一个单独的函数,或者使用全局变量来指示要检查的默认值。 代码段中 Uname
字段的函数可能如下所示:
function checkUname(field, rules, i, options){
if (field.val() == "User Name") {
return "You must type in your username.";
}
定义该函数后,您可以使用类似以下内容来使用它:
<input type="text" class="form validate[required,funcCall[checkUname]]" id="Uname" name="Uname" value="User Name" onfocus="if(this.value=='User Name')this.value='';" onblur="if(this.value=='')this.value='User Name';" />
3)您可以编写一个JavaScript函数,该函数遍历表单中的每个字段,如果找到默认值,则将其更改为空字符串。 然后将该函数附加到窗体中的onsubmit
事件。 这可能是最简单的选择,但它取决于在验证引擎代码之前运行的函数。 如果不是这种情况,那么它将不起作用。
这是一个很好的例子如何使用默认值验证可选字段?
否则,将我发布的问题视为具有可能更改的相同问题
jQuery.validator.addMethod("defaultInvalid", function(value, element) {
if (element.value == element.defaultValue) return false;
}
而不是开关/外壳
<input type="text" id="Uname" name="Uname" value="User Name" onfocus="if(this.value==this.defaultValue) this.value=''"
onblur="if(this.value=='') this.value=this.defaultValue" />
您应该使用 HTML5 placeholder
属性而不是 JavaScript 来设置占位符值。
- 一键提交(阻止默认)多个表单
- 或者在表单上选择默认选项文本(选择1)
- 在表单输入字段中创建默认值
- Pasleyjs更改欧芹表单验证中按钮的默认行为
- 如何从服务器获取和设置表单的默认值
- Vanilla javascript 表单验证,如何撤消防止提交时的默认
- 如何正确处理空的、遗漏的、默认的表单值
- “角度表单”复选框默认值
- 表单提交后防止默认
- 需要使用条纹(更多)重力表单插件将默认付款表单设置为“存档卡”
- 在自动生成的表单上设置默认选中的复选框
- Rail对默认情况下隐藏在表单中的属性进行建模
- MVC 3,剃刀视图 - 覆盖默认表单帖子
- 通过按钮/类型=“提交”行为恢复默认表单提交
- 如何在 YiII2 中更改默认表单输入大小
- 如何重置默认表单行为
- 如何在jquery ajax调用完成后延迟默认表单动作
- 如何从子网格设置默认表单
- 在Bootstrap Validator form中停止默认表单提交
- 使用 jquery.validationEngine.js 处理默认表单值