| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 767 人关注过本帖
标题:[求助]textbox 验证出错
只看楼主 加入收藏
monday4667
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-8-11
收藏
 问题点数:0 回复次数:7 
[求助]textbox 验证出错

我有1个 textbox控件 准备做成用户名输入的,我想对他的输入信息进行验证,我是这样写的
private string xinxi;
if (txtusername.Text.Trim().Length==0) //用户名不能为空;
{
xinxi="用户名不能为空";
  goto tishi;
}

if ((txtusername.Text.Trim().Length)>20 && txtusername.Text.Trim().Length)<6) //在6到20个字符之间
{
xinxi="用户名必须在6大20个字节之间";
goto tishi;
}

tishi:
{
MessageBox.Show(xinxi,"注册信息错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}

可是我运行的时候他却出现不是我想的效果而是之出现用户名不能为空的提示.高手帮忙下 自学好痛苦!
有没有好的思路 或者好的办法 验证的 麻烦说下 谢谢~!

搜索更多相关主题的帖子: textbox goto Length 用户名 xinxi 
2006-08-11 10:34
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
if ((txtusername.Text.Trim().Length)>20 && txtusername.Text.Trim().Length)<6) //在6到20个字符之间
这里是错误的应该是 ||
{
xinxi="用户名必须在6大20个字节之间";
goto tishi;
}

此号自封于2006年11月30日
2006-08-11 10:47
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 

另外你的逻辑错误
不管你怎么判断
都要执行tishi:的
应该把这部分写在方法里调用
tishi:
{
MessageBox.Show(xinxi,"注册信息错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}

[此贴子已经被作者于2006-8-11 12:32:21编辑过]


此号自封于2006年11月30日
2006-08-11 10:48
monday4667
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-8-11
收藏
得分:0 
我主要是验证的时候我开始写 的时候是:
if (txtusername.Text.Trim().Length==0) )
{
MessageBox.Show("用户名能为空","注册信息错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);

}
if ((txtusername.Text.Trim().Length)>20 || txtusername.Text.Trim().Length)<6)
{
MessageBox.Show("用户名必须在6到20个字符之间","注册信息错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);

}

这样的话有时候会出现好多的错误提示信息 如果if 里套if 的话又不好 因为我还有其他的textbox 要验证
我的 用意是希望 出现 一个错误就提示 其他错误不提示了,所以用到了goto 可是有不会用goto
麻烦大哥 帮我下

学习就象是装满石头的桶,以为满了却可以装沙 再之却还可以装水
2006-08-11 10:56
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 

寫到void裡面
if (txtusername.Text.Trim().Length==0) )
{
MessageBox.Show("用户名能为空","注册信息错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
return;

}
if ((txtusername.Text.Trim().Length)>20 || txtusername.Text.Trim().Length)<6)
{
MessageBox.Show("用户名必须在6到20个字符之间","注册信息错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
return;

}


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-11 11:03
monday4667
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-8-11
收藏
得分:0 
原来return 可以有这样的用处啊  非常感谢 !

学习就象是装满石头的桶,以为满了却可以装沙 再之却还可以装水
2006-08-11 11:14
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 

如果做一个完整的判定比较复杂的
按照你的意思给你写了个简单的

[QUOTE]
using System;
using System.Windows .Forms ;
namespace TextCheck
{
/// <summary>
/// 此类用以判定检查之用
/// </summary>
public class Check
{
public Check()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//字符串判定
public static void CheckBox(string str)
{
if(str=="")
{
MessageBox.Show ("用户名不能为空");
}
else if(str.Length <6)
{
MessageBox.Show ("用户名长度不够");
}
else if(str.Length >20)
{
MessageBox.Show ("用户名长度过长");
}
}
//其他判定方法

}
}[/QUOTE]
在你的按扭里这么写就行了
[QUOTE] private void button1_Click(object sender, System.EventArgs e)
{
Check.CheckBox (this.textBox1 .Text.Trim () );
}[/QUOTE]


此号自封于2006年11月30日
2006-08-11 11:18
小妖精ai漂亮
Rank: 1
等 级:新手上路
帖 子:95
专家分:0
注 册:2006-7-21
收藏
得分:0 

学习!


别试图教猪唱歌,这样不但教不会,还会惹猪不高兴!
2006-08-11 14:53
快速回复:[求助]textbox 验证出错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037609 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved