我有一个asp按钮和一个包含自定义验证器的用户控件当我单击页面上不存在于usercontrol内部的按钮时,会发生用户控制客户端验证并显示有关数据输入失败的javascript方法但是当我点击javascript警告框确定按钮时,回发自动发生我想停止回发如果用户控件包含无效数据,则只有当用户控件包含有效数据时才会发生回发。
任何建议都将受到赞赏。
我已经在javascript中完成了这种类型的编码:
function CheckTimeRangeTo_9(sender, args) {
var e = document.getElementById('<%= ddTimeTableTo_9.ClientID %>');
var totalToTimeInMins = CalculateTotalMinutes(e.options[e.selectedIndex].value);
var totalFromTimeInMins = CalculateTotalMinutes(args.Value);
if (totalToTimeInMins != 0 && totalToTimeInMins < totalFromTimeInMins) {
alert("From time cannot be greater than to time in time slice ID 9.");
args.IsValid = false;
return;
}
args.IsValid = true;
}
答案 0 :(得分:0)
您是否设置了传递给客户端验证函数的参数的IsValid
属性?
<script type="text/javascript">
function myValidator_ClientValid(sender, args) {
var valid = false;
// Perform validation
args.IsValid = valid;
}
</script>
答案 1 :(得分:0)
看来你不应该在这里退货。我的意思是函数CheckTimeRangeTo_9中的return;
不应该在这里。并且args.IsValid = true;
应该在其他声明中。所以,你应该尝试:
function CheckTimeRangeTo_9(sender, args) {
var e = document.getElementById('<%= ddTimeTableTo_9.ClientID %>');
var totalToTimeInMins = CalculateTotalMinutes(e.options[e.selectedIndex].value);
var totalFromTimeInMins = CalculateTotalMinutes(args.Value);
if (totalToTimeInMins != 0 && totalToTimeInMins < totalFromTimeInMins) {
alert("From time cannot be greater than to time in time slice ID 9.");
args.IsValid = false;
}
else
{
args.IsValid = true;
}
}