0

对于开始日期和结束日期,我有一个下拉菜单和两个文本框。我启用的结束日期的必填字段验证器取决于所选下拉菜单的值。

所有这些验证部分我都在客户端内部使用由于下拉功能而ValidatorEnable()调用的javascript的内置函数。onchange()

所有这些都适用于第一次更改下拉列表的值。但是,当我回帖时,在此期间某些客户端验证失败,结束日期文本框的必填字段验证器不会保留。

4

2 回答 2

0

缺少代码使诊断变得困难,但听起来您仅根据所选下拉列表的值启用验证,并且仅当用户更改下拉列表的值时...只需在页面加载时执行相同的验证调用和不仅仅是当他们从下拉列表中选择一个项目时。因此,如果下拉列表具有先前选择的值,则在页面加载时,您的验证应启用并按预期工作。

此外,您应该在客户端验证失败没有回发的情况下修复它。

于 2013-05-02T14:33:07.887 回答
0

只需使用 Codeplex 上提供的 Foolproof 验证库:https ://foolproof.codeplex.com/

除其他外,它支持以下“必需的”验证属性/装饰:

[RequiredIf]
[RequiredIfNot]
[RequiredIfTrue]
[RequiredIfFalse]
[RequiredIfEmpty]
[RequiredIfNotEmpty]
[RequiredIfRegExMatch]
[RequiredIfNotRegExMatch]

具体来说,我建议您使用该[RequiredIfRegExMatch]属性。

开始很容易:

  • 从提供的链接下载包
  • 添加对包含的 .dll 文件的引用
  • 导入包含的 javascript 文件
  • 确保您的视图从其 HTML 中引用包含的 javascript 文件,以进行不显眼的 javascript 和 jquery 验证。
于 2014-02-18T19:42:01.603 回答