Jer*_*emy 38 asp.net validation requiredfieldvalidator
我有一个带有三个文本输入的ASP.NET表单,分别用于"工作电话","家庭电话"和"手机".每个文本输入都有一个与之关联的RequiredFieldValidator.我还有一个DropDownList,用户可以在其中选择首选的手机类型.
我想只需要在DropDownList中选择的字段.例如,如果用户从DropDownList中选择"工作电话",我想禁用"家庭电话"和"手机"的RequiredFieldValidator,从而只需要"工作电话"字段.
我有一个方法,根据DropDownList的值启用和禁用这些验证器,但我无法弄清楚何时调用它.我希望在页面上进行验证之前运行此方法.我该怎么办?
hun*_*ter 41
您可以使用以下JavaScript执行此操作:
ValidatorEnable(RequiredFieldValidatorId, false);
Run Code Online (Sandbox Code Playgroud)
然后让你的下拉列表使用onchange事件(我建议使用jQuery)
$("#<%=dropDownList.ClientID %>").change(function(){
var val = $(this).val();
var skip = null;
if (val == 1)
skip = "workPhoneValidator";
else if (val == 2)
skip = "cellPhoneValidator";
....
// by popular demand...
var $skip = $("#" + skip)[0];
if (skip != "workPhoneValidator") ValidatorEnable($skip, false);
if (skip != "cellPhoneValidator") ValidatorEnable($skip, false);
....
});
Run Code Online (Sandbox Code Playgroud)
Jas*_*n M 11
为什么不在这种情况下使用CustomValidator?关闭/打开RequiredFieldValidator可能会在将来导致设计问题 - 我会坚持在需要的字段上使用它们.
小智 5
当您使用家庭电话时,在dropdown selectedindexchange事件中,使必需的字段验证器不可见.
喜欢..
如果选择了家庭电话,
homephonevalidator.visible=true
cellphonevalidator.visible=false
workphonevalidator.visible=false
Run Code Online (Sandbox Code Playgroud)
如果选择了手机,
homephonevalidator.visible=false
cellphonevalidator.visible=true
workphonevalidator.visible=false
Run Code Online (Sandbox Code Playgroud)
如果选择了工作电话,
homephonevalidator.visible=false
cellphonevalidator.visible=false
workphonevalidator.visible=true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67248 次 |
| 最近记录: |