5.创建留言页面----数据验证控件及添加数据
相关介绍:
数据正确性是网站所必需的。为了更容易的检验使用者输入的数据是否正确,ASP.NET为编程人员提供了数据验证控件。ASP.NET提供的数据验证控件包括。(注意:为了能显示代码,以下所有代码都在“<”之后和“>”之前加了空格,不便之处请多原谅!):
控件
功能
RequiredFieldValidator
检验某一输入栏是否有数据输入
RangeValidator
检验某一输入栏所输入的数据是否在特定的范围内
CompareValidator
检验某一输入栏是否等于,不等于,大于,不小于,小于
ValidationSummary
列出所有未通过检验的控件
RegularExpressionValidator
检验某一栏是否符合正则表达式规则
CustomValidator
自定验证规则
STEP 1 设计页面 我们先用表格设计出大概的框架。由于数据库中的COMMENTS表中有
[图5-1 数据库框架]
COMMENT_ID(自动编号),FIRST_NAME(文本),LAST_NAME(文本),TELEPHONE(文本),EMAIL(文本),SUBMIT_DATE(日期/时间),COMMENTS(备注),ANSWERED(布尔值)等字段。根据需要我们在站点中设计了如下图的页面,命名为reg.aspx。
[图5-2 最初页面]
其中COMMENT_ID,是可以由ACCESS自动添加的,ANSWERED不需要用户自己添加。在SUBMIT_DATE的默认值设置为Now(),则会由ACCESS自动写入添加纪录的日期。
以前的ASP页面中,我们可以通过来设置输入框来输入数据。ASP.NET中带有textbox控件来接受数据,语法如下:
< asp:textbox id=”…” runat=”server” 其他属性/ >
在DreamweaverMX中可以通过单击 快捷按钮来添加textbox控件。在弹出的对话框中通过设置ID,text mode(对话框类型),tool tip(即鼠标悬于控件上的提示),以及Layout(样式设计),Style Information(用于设置输入文字格式以及textbox边框格式),来设置控件。下图是textbox的设置对话框。
[图5-3 textbox设置对话框1]
[图5-4 textbox设置对话框2]
[图5-5 textbox设置对话框3]
由于数据项COMMENT需要输入大量的文字,所以需要用到多输入行的textbox。只需设置text mode为MultiLine并输入所需的行数(Rows)即可。
为了产生添加的事件,还需要一个按钮。单击Forms标签,单击”button”按钮添加。
STEP2 数据验证的使用
由于First_name,Last_name,telephone,email是必须输入的,所以为了防止用户忘记输入,则可以添加RequiredFieldValidator控件来验证控件。由于控件会在出现验证有误的情况下在其所在的位置显示验证不通过的内容,故应在适当的位置放入数据验证控件。
RequiredFieldValidator数据验证的控件语法如下:
< asp:RequiredFieldValidato其他属性 runat=”server” >出错信息< / asp:RequiredFieldValidator >
或
< asp:RequiredFieldValidator ErrorMessage="出错信息" 其他属性 runat=”server”/ >
在单击More Tags后,选择ASP.NET Tags的Validation Server可以看到有不同类型的数据验证控件选择。我们需要在First_name的输入框后面添加验证控件asp:RequiredFieldValidator。
在RequiredfieldValidator控件设置窗口中,Control to Validate是为与此数据验证控件相关联的输入控件的ID,而Error Message就是数据验证失败的时候显示的信息。同时我们可以通过设置layout,style Information来选择所需的样式。
[图5-6 验证控件选择]
[图5-7 RequiredfieldValidator控件设置对话框]
同时在Last_Name输入框后面用相同的方法添加另一个RequiredFieldValidato数据验证控件。现在我们可以保存,并预览页面。当没有在First_name和Last_name输入框中输入数据而且单击Submit按钮的时候,就会出现验证失败消息。如图5-8所示。
但是很多时候我们需要验证有效的数据,比如邮政编码一定为6位,输入的Email地址需要有特定的形式。这里就需要用到RegularExpressionValidator来验证数据的有效性。在本注册页面中,telephone和Email都可以用到此控件来验证。
[图5-8 RequiredfieldValidator对话框]
[图5-9 Email设置属性]
同RequiredfieldValidator验证控件添加的方法类似,单击”More tags..”选择添加数据验证控件。不同的地方就是设置Validation Expression。由于telephone需要输入7-10位的数字,需设置如下:
[0-9]{7,10}
其语法如下:
[]:用来定义可接受的字符,如a-z表示小写的’a’-‘z’都是可接受的字符,a-zA-Z表示可接受所有字母,而0-9就表示可以接受所有数字。
{}:用来定义必须输入的字符数,{7,10}表示可以输入7-10个字符,{0,}表示可以接受0-无限多个字符。
‘.’:表示输入任意字符。.{0,}表示可接受0-无限多个任意字符。
| :表示OR(或),例如[A-Za-z]{3}|[0-9]{3}表示可以接受3个英文字母或是3个数字
():为了方便阅读,含有|符号的字符串通常会被()之中。例如([A-Za-z]{3}|[0-9]{3})。
\:如果含有[],{},(),|等特殊符号必须在这些字符串之前加上\.。
下列是一些比较常用的例子:
Email: .{1,}@.{1,}/..{1}
电话(包括区号): \([0-9]{3,4})\)[0-9]{7,8}
虽然不可以保证用户输入是其真正的资料,但是检验控件可以保证格式是对的。
[图5-10 预览页面]
至于CompareValidator控件,其各属性设置方法如下:
Control to Compare
[Web开发]一个关于ASP运行时间计算的代码 [Web开发]ASP:检测含有中文字符串的实际长度 [Web开发]asp 中英文字符长度检测判断函数 [Web开发]安全维护 IIS asp 站点的高级技巧 [C语言系列]NET 中C#的switch语句的语法 [Access]ASP&SQL让select查询结果随机排序的实现方法 [Web开发]ASP字符串截取函数 [Web开发][asp]关键词只替换一次的写法 [Web开发]Asp无组件生成缩略图方法详解 [Web开发]asp编程中优化数据库方法详解
|