你可以帮助我解决我在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>
答案 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>