如果TextBox不为空,则启用RequiredFieldValidator

时间:2013-09-18 04:10:35

标签: c# asp.net requiredfieldvalidator

你可以帮助我解决我在asp.net中的这个简单问题,

我有3个文本框; Txt1 Txt2 txt3

如果txt1不为空,则应启用txt2和txt3 requiredvalidator。 如果txt1为空,则不应启用txt2和txt3 requiredvalidator,

这是要求,一旦txt1有一个值,txt2和txt3应该是必填字段。

有人可以帮我解决这个问题吗?

非常感谢你。


有人可以帮我查一下这段代码吗?非常感谢你

<script type="text/javascript" language="javascript">
    function FatherClientValidate(oSrc, args) {
        var textBox = document.getElementById('<%=FatherName.ClientID%>');
        if (textBox.value != '') {

            var ctrlid = oSrc.id;
            var validatorid = document.getElementById(ctrlid);
            ctrlid = validatorid.controltovalidate;
            document.getElementById(ctrlid).style.backgroundColor = "#ff0000";
            args.IsValid = true;
        }
        else {
            var ctrlid = oSrc.id;
            var validatorid = document.getElementById(ctrlid);
            ctrlid = validatorid.controltovalidate;
            document.getElementById(ctrlid).style.backgroundColor = "White";
            args.IsValid = false;
        }
    }
</script>

1 个答案:

答案 0 :(得分:1)

您可以将CustomValidators用于Txt2 txt3,在自定义验证程序的服务器验证事件中,您可以检查如下

void ServerValidation (object source, ServerValidateEventArgs args)
 {
    if (!string.IsNullOrEmpty(Txt1.Text))
       args.IsValid = !string.IsNullOrEmpty(args.Value);
 }

在客户端验证

<script language="javascript"> 
   function ClientValidate(source, arguments)
   {
        var textBox = document.getElementById('<%=Txt1.ClientID%>');
        if (textBox.value !== "" ){
            arguments.IsValid = (args.value !== "");
        } else {
            arguments.IsValid = false;
        }
   }
</script>