使用Web窗体中的验证控件
来源:互联网 发布:凭淘宝账号贷款 编辑:程序博客网 时间:2024/04/30 18:31
在一个网络软件中,经常要保证用户输入的信息有效。过去,这一事情得由软件工程师自已编程实现。现在这一事情有了更轻松的解决方法,通过微软的.net中专门的验证控件,我们只需设置属性就可以检查必需的项、数据类型、范围、模式和特定的值。而且,这些控件自动执行检查并以多种方式向用户显示错误信息。
在下面的这个示例的Web页中,允许用户输入用户名、出生日期、密码等,我们的工作是如何确保用户向所有的文本框都输入了正确的值。
这个示例可分成以下若干过程:
·通过创建项目、Web窗体页、添加输入控件和标签来创建基本的窗体。
·添加验证控件。我们将验证是否输入了必需的项、用户是否输入了有效的用户名、日期以及匹配的密码。
·进行测试。
1创建基本的窗体
可以从创建带有输入控件的窗体开始。
创建项目和窗体
下面首先创建一个新的Web应用程序项目和Web窗体页,以便向该窗体添加验证控件。
1.执行“文件”|“新建”|“项目”命令,弹出“新建项目”对话框。
2.在“新建项目”对话框中,执行以下操作:
·在“项目类型”窗格中选择“VisualC#项目”。
·在“模板”窗格中选择“ASP.NETWeb应用程序”。
·在“位置”文本框中,输入完整的URL(包含http://、服务器名称和项目名称)。
3.单击“确定”按钮,创建新的Web窗体项目。名为WebForm1.aspx的新Web窗体页将显示在“设计”视图中Web窗体设计器上。
4.如果该页尚未处于网格模式,可使用“属性”窗口将文档对象的pageLayout属性设置为GridLayout。
添加输入控件
1.从工具箱的“Web窗体”选项卡,将下面的控件添加到窗体中,它们的ID属性设置如下表所示:
控件用途标识
TextBox输入用户名txtName
TextBox输入出生日期txtBirthdate
TextBox输入密码txtPassword
TextBox重复输入密码进行确认txtPasswordAgain
Button提交窗体btnRegister
将Button的Text属性设置为“注册”。
2.将两个密码框的TextMode属性设置为Password,当用户输入密码时,它们显示星号(*)。
3.在文本框前面添加标签以指示其功能。如果Web窗体页处于网格模式,则在每个文本框的前面添加Label控件并设置它们的Text属性。如果该页处于流模式,则只要在每个框之前输入静态文本即可。
4.根据需要调整字体、大小和控件的布局。
2添加验证控件
在这一过程,我们将要完成如下一些验证:
·必需的字段。确保用户向四个文本框都输入了值。
·名称格式。如E-mail的格式应该形如:freee@yspc.com。
·日期格式。验证用户输入的出生日期是否有效。
·密码匹配。验证用户在两个密码框中提供的密码是否匹配。
检查是否输入了必需的字段
我们首先要验证的是,用户在所有四个文本框中都输入了值。
1.从工具箱的“Web窗体”选项卡中,将一个RequiredFieldValidator控件拖到窗体上,放在“txtName”文本框旁边。
2.选择验证控件,并在“属性”窗口中设置属性如下表所示:
属性设置
ControlToValidatetxtName 这指示验证程序将检查名称字段的内容
Text*(星号) 这是将显示在验证程序控件当前所在位置的文本。(通常在包含错误的输入框旁边放置一个红色的星号。)
ErrorMessageEmailnameisrequired 该文本将显示在页上的摘要中
3.如果愿意,我们可以设置验证控件的字体、颜色和格式设置属性。
4.为其他三个文本框重复步骤1到步骤3,再创建三个RequiredFieldValidation控件,属性设置如下表所示:
控件属性设置
RequiredFieldValidator2ControlToValidate设置为txtBirthdateText*
ErrorMessageYoumustenterabirthdate
RequiredFieldValidator3ControlToValidate设置为txtPasswordText*
ErrorMessageYoumustenterapassword
RequiredFieldValidator4ControlToValidate设置为txtPasswordAgainText*
ErrorMessageRe-enterthepasswordtoconfirmit
检查名称格式
假定以输入电子邮件地址作为注册名,那么注册名就应该是一个典型的电子邮件地址格式(例如freee@yspc.com)。因此我们可以捕捉用户常犯的输入错误,例如忘记输入电子邮件地址的“.com”部分。
1.从工具箱的“Web窗体”选项卡中,将一个RegularExpressionValidator控件拖到“txtName”框旁边。
2.选择验证控件,并在“属性”窗口中设置属性如下表所示:
属性设置
ControlToValidateTxtName Text*(星号)
ErrorMessageNamemustbeintheformatname@domain.xxx
ValidationExpression从列表中选择“Interne电子邮件地址”。请注意,这会将属性值设置为正则表达式检查日期格式对于用户输入的日期也可进行验证,验证的原则是:用户输入的是不是日期并且比较该日期是否晚于指定的最小日期(ValueToCompare)。
1.从工具箱的“Web窗体”选项卡中,将一个CompareValidator控件拖到“txtBirthdate”框旁边。
2.选择验证控件,并在“属性”窗口中设置属性如下表所示:
属性设置
ControlToValidateTxtBirthdate Text*(星号)
ErrorMessageBirthdateisnotavaliddate
ValueToCompare1900/01/01(或任何其他最小日期)
OperatorGreaterThan
TypeDate
DisplayDynamic
注意:以格式yyyy/mm/dd输入要进行比较的日期;这样可确保对于所有区域性设置都将正确地解释它。用户输入日期时,对于月份必须仅使用数字。
检查密码是否匹配
程序将会核对用户前后两次所输入的密码是一致的,因此第一个密码框中输入的内容将比较一个字段(第二个密码框)的值。
1.从工具箱的“Web窗体”选项卡中,将一个CompareValidator控件拖到“txtPasswordAgain”框的旁边。
2.选择验证控件,并在“属性”窗口中设置属性如下表所示:
属性设置
ControlToValidateTxtPasswordAgain Text*(星号)
ErrorMessageThepasswordsdonotmatch
ControlToCompareTxtPassword
OperatorEqual
DisplayDynamic
显示验证错误
为了显示有关验证错误的详细信息,需要执行以下操作:
1.从工具箱的“Web窗体”选项卡中,将一个ValidationSummary控件拖到窗体上。将
该控件放置在某个位置上,在该位置,该控件具有空间来显示几行文本。
2.如果要显示特殊错误,则为DisplayMode属性选择其他显示选项。
3.设置Font和ForeColor属性对错误信息文本的显示格式。
添加验证控件的操作已完成。现在可以测试它们的运行情况。
3测试验证控件
1.在解决方案资源管理器中,右击Web窗体页并选择“在浏览器中查看”命令。
2.当显示页时,将不同的值输入框中。若要检查出生日期,请输入一个对Web服务器的区域设置无效的日期。每次输入错误,都应该在包含错误的框旁边显示一个星号。
3.单击“注册”按钮。如果有任何错误,错误信息文本就会显示在摘要控件中。(随着对字段的操作,红色的星号会随时出现和消失。)如果看不到预想的错误结果,就要检查每个验证控件的设置,然后重试。
- 使用Web窗体中的验证控件
- 验证 Windows 窗体 DataGridView 控件中的数据
- ASP.NET - 演练:验证 Web 窗体页中的用户输入
- Web 窗体控件简介
- Web 窗体控件引用
- Web开发中验证控件的使用
- C# Winform 窗体控件验证
- 使用 .NET 框架轻松开发完美的 Web 窗体控件
- 使用 .NET 框架轻松开发完美的 Web 窗体控件
- 使用 .NET 框架轻松开发完美的 Web 窗体控件
- 使用 .NET 框架轻松开发完美的 Web 窗体控件
- 使用 .NET 框架轻松开发完美的 Web 窗体控件
- 使用.NET框架轻松开发完美的Web窗体控件
- 使用 .NET 框架轻松开发完美的 Web 窗体控件
- 使用 .NET 框架轻松开发完美的 Web 窗体控件
- 移动窗体中的控件
- web控件验证及BulletList控件的使用
- Web 窗体用户控件(3)
- 网页防盗代码
- WebLogic9 详解配置
- 广东阳江发现5000多只野生动物被弃海上(图)
- Application,Session,Cookie,Cache和ViewState之间的异同点
- 轻易破解压缩包密码
- 使用Web窗体中的验证控件
- 炒股高手:两年200万赚1亿 现只卖不买
- 局域网攻击原理与防御
- 李嘉诚的一段话
- 盛大彻底退出新浪收购战 新浪股票赚7000万美元
- 如何封别人QQ
- 一人在eBay出售盗版软件被罚20.5万美元
- Skype开始传播木马最新变种
- 盗版不是这样打的