ASP.NET:必须填写“必须填写两个字段之一”的自定义客户端验证程序?

时间:2008-12-03 12:34:18

标签: asp.net validation

你能否告诉我是否有人实施了自定义验证器来检查两个(或N个)输入字段中的一个是否被填充?

   "Insert phone number or email address"

我正在使用ASP.NET(Ajax)3.5,ajaxToolkit:ValidatorCalloutExtender(如果有必要,还有jQuery)。

4 个答案:

答案 0 :(得分:7)

我刚刚做了这个(需要jQuery):

JS:

function validatePhoneOrEmail(source, args) {
    if ($("[id$='txtEmail']").val() == "" && $("[id$='txtTel']").val() == "") 
        args.IsValid = false;
    else
        args.IsValid = true;
}

ASP.NET:

<asp:CustomValidator runat="server" 
    ClientValidationFunction="validatePhoneOrEmail" 
    ErrorMessage="Please enter a telephone number or email address">
</asp:CustomValidator>

我没有任何服务器端验证,但我假设服务器中的类似功能很容易创建。

答案 1 :(得分:6)

哦,当然,大约10分钟后,我自己发现了这个Code Project文章 Multiple Fields Validator - An ASP.NET Validation Control by Adam Tibi

alt text

答案 2 :(得分:1)

我不是一个推销商业产品的人,但是当涉及到asp.net验证时,你会给自己一个令人难以置信的伤害,不要去看看peterblum.com。最好的asp.net控制包吧没有... Hanselmans接受它们 -

“不是加载项,而是ASP.NET验证框架的完全重新构想。有一个学习曲线,但它会改变你编写页面的方式。还要检查他的Visual Security Security和Peter'sDatePackage他的文件很有传奇色彩。“

答案 3 :(得分:0)

代码项目也有这种控制(真的由您自己控制):
http://www.codeproject.com/KB/validation/AtLeastOneOfValidator.aspx