快速业务通道

ASP.NET 2.0数据教程之三十九:在编辑和插入界面里添加验证控件

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
rty设为合适的Web控件(在这里是ProductName).然后将ErrorMessage property设为“You must provide the product’s name”, Text property设为“*”。如果提供了Text属性的值,它将在验证失 败时显示。ErrorMessage 属性是提供给ValidationSummary控件使用的。如果省 略了Text的值,在非法输入时会显示 ErrorMessage 。

完成这些后你的页 面看起来应该和图4差不多:

ASP.NET 2.0数据教程之三十九:在编辑和插入界面里添加验证控件

图 4:设置 RequiredFieldValidator的 ControlToValidate, ErrorMessage, 和Text Properties

添加完RequiredFieldValidator 后, 剩下的事就是为product的price添加验证控件了。由于编辑时UnitPrice属于可选 项,所以我们不用添加RequiredFieldValidator。我们需要做的是添加一个 CompareValidator 来保证在输入了price的情况下,它的值是正确的货币格式和 大于等于0。

为EditIteTemplate添加一个ControlToValidate 属性为 UnitPrice的CompareValidator 。将ErrorMessage 设为“The price must be greater than or equal to zero and cannot include the currency symbol”,Text设为“*”。为了指定UnitPrice的值必须大于等 于0,将CompareValidator的Operator property设为GreaterThanEqual, ValueToCompare property设为“0”,Type property设为Currency。

添加完这两个验证控件后,DataList的EditItemTemplate声明代码应该和 下面差不多:

ASP.NET

<EditItemTemplate>
Product name:
<asp:TextBox ID="ProductName" runat="server"
Text=''<%# Eval ("ProductName") %>''></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
ControlToValidate="ProductName"
ErrorMessage="You must provide the product''s name"
runat="server">*</asp:RequiredFieldValidator>
<br />
Price:
<asp:TextBox ID="UnitPrice" runat="server"
Text=''<%# Eval("UnitPrice", "{0:C}") % >''></asp:TextBox>
<asp:CompareValidator ID="CompareValidator1"
ControlToValidate="UnitPrice"
ErrorMessage="The price must be greater than or equal to zero
and cannot include the currency symbol"
Operator="GreaterThanEqual" Type="Currency" ValueToCompare="0"
runat="server">*</asp:CompareValidator><br />
<br />
<asp:Button ID="UpdateProduct" runat="server" CommandName="Update"
Text="Update" />&nbsp;
<asp:Button ID="CancelUpdate" runat="server" CommandName="Cancel"
Text="Cancel" />
</EditItemTemplate>

浏览一下页面。现在如果你编辑的 时候不输入name或者在price里输入一个非法的值,在textbox后面会出现一个 “*”。见图5。一个包含货币符号的值—比如$19.95 —被 认为是合法的。CompareValidator的Currency 类型允许数字分隔符(比如句号和 逗号)和前面带"+"或"-"号,但是不允许带货币符号。而 在编辑界面里的UnitPrice又会以货币格式展现,这可能会让用户感到困惑。

ASP.NET 2.0数据教程之三十九:在编辑和插入界面里添加验证控件

图 5: 非法输入 Textboxes 后面会出现“*”

当验 证控件象上面这样工作时,用户在编辑时需要手工移除掉货币符号,这是不可接 受的。而且,

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号