设置字段以有条件地使用必需的字段验证器

时间:2015-03-25 13:53:04

标签: javascript c# asp.net web-applications

我有一个带有2个选项的单选按钮,当选择1时我想要填写5个文本框,当选择2时,这些文本框不一定要填写。我在asp.net中使用了C#代码,到目前为止,我在我的必填字段上使用了asp requiredfieldvalidators。但是我需要帮助设置逻辑来处理这个请求。我有一个C语言的背景,但脚本对我来说仍然很陌生,所以如果有解决方案,请告诉我!提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

使用CustomValidator - 甚至可以选择验证客户端站点(java脚本)或服务器端(代码隐藏)

示例ClientSide验证ASPX:

<asp:Button runat="server" ID="btncbValid" Text="Test" ValidationGroup="vg1" />
<asp:CustomValidator ID="cvValidator"  ValidationGroup="vg1" runat="server" ErrorMessage="Error!"
ClientValidationFunction="validateMethod"></asp:CustomValidator>

JS:

function validateMethod(sender, args) {
var txt1 = document.getElementById("<%= tb1.ClientID %>");
var txt2 = document.getElementById("<%= tb2.ClientID %>");
var txt3 = document.getElementById("<%= tb3.ClientID %>");
var txt4 = document.getElementById("<%= tb4.ClientID %>");
var txt5 = document.getElementById("<%= tb5.ClientID %>");

var rb1 = document.getElementById('<%= rb1.ClientID %>');
var rb2 = document.getElementById('<%= rb2.ClientID %>');

args.IsValid = 
(
(rb1.checked && txt1.value != "" && txt2.value != "" && txt3.value != "" && txt4.value != "" && txt5.value != "" )
||
(rb2.checked && txt1.value == "" && txt2.value == "" && txt3.value == "" && txt4.value == "" && txt5.value == "" )
)
}
相关问题