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