ASP.NET - ASP.NET 服务器控件的特例验证结果

验证可以确保用户输入符合您指定的条件。在大多数情况下,这一操作比较简单。但有时对输入进行验证会引入特殊的条件。了解这些条件是什么、验证如何执行以及有哪些可能的验证结果是非常重要的。

一、与空白字段的对比

如果字段为空白,则除 RequiredFieldValidator 控件之外的所有验证控件都会将该字段视为有效字段。您必须使用 RequiredFieldValidator 控件来避免用户将字段留为空白。例如,如果您将 RangeValidator 控件附加到一个日期字段,则当用户输入了指定范围内的日期或将该字段留为空白时,都将通过验证。如果要确保用户输入日期,则除了范围检查之外,您还必须向该日期字段添加 RequiredFieldValidator 控件。

二、与其他控件的对比

使用 CompareValidator 控件时,您可以指定对照另一控件的值执行验证。例如,您有两个用于输入日期的字段,一个用于开始日期,一个用于结束日期。使用 CompareValidator 控件可以确保开始日期早于或等于结束日期。

安全说明: ASP.NET 网页中的用户输入可能包括恶意的客户端脚本。默认情况下,该页验证用户输入是否不包括脚本或 HTML 元素。

如果验证控件无法解析另一控件中的值,它们通常不会引发错误,相反,将会通过验证检查。如果其他控件中的值缺失,或者无法转换为 CompareValidator 控件的数据类型,则会发生这种情况。

由这些控件执行的特定测试和可能的结果如下所示:

·如果在起始控件的 ControlToValidate 属性中输入的目标控件没有值,则 IsValid 属性被视为 true 并且验证通过。

·如果 ControlToValidate 属性中的目标控件值无法转换为适当的数据类型,则 IsValid 被视为 false

·如果 ControlToCompare 属性中的目标控件值无法转换为适当的数据类型,则 IsValid 被视为 true

·最后,如果所有这些测试均已通过,则两个控件都为非空,并且可以转换为数据类型,因此控件将执行实际的比较并相应地设置 IsValid

这一策略可以防止对同一无效输入报告多个错误。验证控件设计用于只针对一个值来作出测试和报告,并在遇到错误时尽可能准确地显示消息。

例如,在结束日期的示例中,假定用户输入一个无效开始日期。用户随后输入结束日期。执行验证检查时(通常在服务器上),同一错误日期可能会在开始日期字段和结束日期字段都引发错误。为避免这一情况的发生,结束日期验证(依赖于另一字段的验证)将不引发错误。

因此,您应该确保为每个单独的字段提供了充分的验证。在本例中,将由您来确保用户在开始日期字段中输入了正确日期。在许多情况下,您应该将 RequiredFieldValidator 控件和测试特定输入内容的验证控件一起使用。在某些情况下,添加 Operator 属性设置为 DataTypeCheck CompareValidator 控件也很有用,它将执行简单的类型检查,而不与另一值或控件进行比较。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值