2010-05-07 70 views
0

我们有一个表单,它有一个文本输入框。输入到这个字段中的数据通常没有验证(除了被要求),但是我们希望它能够验证其他表单是否等于某个特定值。考虑设置密码提示...你选择一个提示类型,说你的狗的名字,这没有真正的验证,或者你选择你的生日提示类型,在这种情况下,我们希望该字段有日期验证...基于其他表单值的jQuery表单验证/更改验证类型

$(#HNT_1)是5岁生日提示类型......现在我只想改变字段#HNT_1_TE从自由格式文本日期验证去......

我使用的表单验证插件...

编辑:我修正了它... 我添加了一个onchange句柄来控制提示类型的选择框,我检查它是否选择的值是5,如果是的话,我使用'规则添加'功能要添加的验证模块一个日期:真正的规则,如果它不是,我用规则日期:假。

+0

我并不熟悉你的语法,特别是在条件语句结尾的&&。你有没有试图把你的验证条件放入一个函数中并返回一个合格/不合格的布尔值?看起来你可能在这里有误报。 – gurun8 2010-05-07 14:17:36

+0

@ gurun8,我的代码,几乎被忽略...我想说的是,如果#HTN_1字段不是= 5什么都不做,或者如果它是5,那么这也必须是真的(这是将验证更改为日期)... – Brad 2010-05-07 14:21:43

+0

您是否尝试过使用API​​在这些其他字段的jQuery更改事件时更新“required”选项(例如true或false)?基本上你会添加一个.change()事件处理程序到HNT_1输入,然后切换HNT_1_TE的“required”选项。 – gurun8 2010-05-07 15:12:09

回答

1

我添加了一个onchange句柄来控制提示类型的选择框,我检查它是否被选中的值是5,如果是这样的话我使用验证模块的'rule add'功能来添加一个date:true规则,如果不是,我使用规则日期:false。

+0

这个工作?这几乎是我在上面评论中所隐含的,但是在更多的jQuery路线中。 – gurun8 2010-05-07 18:06:12

+0

@ gurun8,是的,它的工作,非常感谢您的输入... – Brad 2010-05-10 13:00:21

0

我知道这是一种与您的方法不同的方法,但您应该查看jQuery Validation plugin。我曾经用它来完成你所描述的事情(在我的例子中,我有一组与单选按钮相关的文本字段;选择任何一个单选按钮激活其相应的文本字段验证设置)。

+0

我正在使用验证插件... – Brad 2010-05-07 14:17:42

+0

我看到 - 我的具体示例检查是否需要某些内容,而不是它是否为特定类型(例如日期)。抱歉。 – ABach 2010-05-07 14:35:10