首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件验证ASP.NET

条件验证ASP.NET
EN

Stack Overflow用户
提问于 2009-11-10 22:51:50
回答 4查看 10.6K关注 0票数 2

我有两个TextBoxes (textBoxA,textBoxB),都是由他们自己的RequiredFieldValidator观看的。我希望在RequiredFieldValidator有一个值(或满足某些特定条件)时,为textBoxB“启用”textBoxA。

用例:

案例1 textBoxA = "";->显示所需的字段验证消息textBoxB = "";->不显示验证消息

案例2 textBoxA =“有值”;textBoxB = "";->显示所需的字段验证消息

案例3 textBoxA =“有值”;textBoxB =“也有值”;

谢谢你的帮助!!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-11-10 22:57:48

在这种情况下,我将使用CustomValidator来实现textBoxB,而不是使用所需的字段验证器。在服务器端验证方法中,您可以使用这样的方法来控制验证的确切性质。

代码语言:javascript
复制
if (textBoxA.Text != string.Empty)
{
    args.IsValid = textBoxB.Text != string.Empty;
}
票数 4
EN

Stack Overflow用户

发布于 2009-11-10 23:03:49

您可能需要使用CustomValidator来完成此操作。您需要实现客户端和服务器端验证。类似的东西(从我的头顶上,未经测试)

服务器端

代码语言:javascript
复制
protected void ServerValidation (object source, ServerValidateEventArgs args)
{      
   if (!string.IsNullOrEmpty(textBoxA))
       args.IsValid = !string.IsNullOrEmpty(textBoxB);

}

客户端

代码语言:javascript
复制
function clientValidation(sender, args) {
    if (args.value !== "") {
       var textBoxB= document.getElementById('textBoxB');
       args.IsValid = (textBoxB.value !== "");
    }
    return;
}
票数 6
EN

Stack Overflow用户

发布于 2009-11-10 23:00:25

我不相信有一种声明式的方法。为此,我总是使用一个ValidatePage方法,将验证器设置为已启用或禁用,然后在结束时调用Page.Validate (然后基于Page.IsValid继续或呈现)。

所以,要么

代码语言:javascript
复制
validator2.IsEnabled = textBoxA.Text.Trim().Length > 0

或者类似的东西。

那是伪代码.我已经有一段时间没做ASP.NET了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1711819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档