对于开始日期和结束日期,我有一个下拉菜单和两个文本框。我启用的结束日期的必填字段验证器取决于所选下拉菜单的值。
所有这些验证部分我都在客户端内部使用由于下拉功能而ValidatorEnable()
调用的javascript的内置函数。onchange()
所有这些都适用于第一次更改下拉列表的值。但是,当我回帖时,在此期间某些客户端验证失败,结束日期文本框的必填字段验证器不会保留。
对于开始日期和结束日期,我有一个下拉菜单和两个文本框。我启用的结束日期的必填字段验证器取决于所选下拉菜单的值。
所有这些验证部分我都在客户端内部使用由于下拉功能而ValidatorEnable()
调用的javascript的内置函数。onchange()
所有这些都适用于第一次更改下拉列表的值。但是,当我回帖时,在此期间某些客户端验证失败,结束日期文本框的必填字段验证器不会保留。
缺少代码使诊断变得困难,但听起来您仅根据所选下拉列表的值启用验证,并且仅当用户更改下拉列表的值时...只需在页面加载时执行相同的验证调用和不仅仅是当他们从下拉列表中选择一个项目时。因此,如果下拉列表具有先前选择的值,则在页面加载时,您的验证应启用并按预期工作。
此外,您应该在客户端验证失败没有回发的情况下修复它。
只需使用 Codeplex 上提供的 Foolproof 验证库:https ://foolproof.codeplex.com/
除其他外,它支持以下“必需的”验证属性/装饰:
[RequiredIf]
[RequiredIfNot]
[RequiredIfTrue]
[RequiredIfFalse]
[RequiredIfEmpty]
[RequiredIfNotEmpty]
[RequiredIfRegExMatch]
[RequiredIfNotRegExMatch]
具体来说,我建议您使用该[RequiredIfRegExMatch]
属性。
开始很容易: