2010-11-10 86 views
0

嗨我有一个文本框和日期选择器控件。如何做两个控件相互依赖的验证程序

验证器要求既不能选择。即。都是空白。但是,如果一个人有价值,另一个人也必须有价值。

任何人都可以告诉我如何实现这个给定的CustomValidator需要一个RequiredFieldValidator来触发?

+0

为什么不只是简单地实现所有在那的CustomValidator逻辑?它应该像一行代码。 – 2010-11-10 22:16:38

+0

另外,请注意,它只能在提交时进行验证,如果您对控件更改进行验证,则无法输入值,因为其他控件始终会阻止验证。 – McKay 2010-11-10 22:18:15

回答

2

使用自定义的验证,并具有以下客户端代码......

function CheckControls(sender, args){ 

    if(GetElement('Control1').Value != '') 
    { 
     if(GetElement('Control2').Value == '') 
     { 
     args.IsValid = false; 
     return; 
     } 
    } 

    args.IsValid = true; 
    return; 

} 

function GetElement(id){ 

    if(document.all){ 
     return document.all[id]; 
    }else { 
     return document.getElementById(id);   
    } 

} 
+0

据我所知,虽然CustomValidator将需要一个RequiredFieldValidator来运作。它是否正确? – BigJim 2010-11-10 22:33:33

+0

您错过了control1不为空但control2为的故障状态。也不用打扰'document.all',只需使用'document.getElementById'。 @bigjim不,你不需要'RequiredFieldValidator'来使用'CustomValidator'。 – lincolnk 2010-11-10 22:50:12

+0

虽然 – BigJim 2010-11-10 22:59:39