comparevalidator控件的作用_表单控件

comparevalidator控件的作用_表单控件使用验证块的属性验证属性(内置验证应用程序块属性和主题中描述的属性)可以用于各种目标,包括类、字段、属性、方法和(在有限情况下)参数。有关信息,请参见验证属性目标。还有一组属性允许您更改其他属性的行为。这些都是在验证修饰符属性中讨论的。还可以指定要

使用验证块的属性

验证属性(内置验证应用程序块属性和主题中描述的属性)可以用于各种目标,包括类、字段、属性、方法和(在有限情况下)参数。有关信息,请参见验证属性目标。还有一组属性允许您更改其他属性的行为。这些都是在验证修饰符属性中讨论的。还可以指定要在单独的数据类中使用的属性。有关此问题的详细信息,请参阅。

使用验证块属性定义验证规则

可以在代码中包含验证应用程序块属性来定义规则集(在使用.NET数据注释属性时不能指定命名规则集)。这是使用配置或代码的另一种选择。如果不为属性验证规则指定名称,则它是默认规则集的一部分。下面的代码示例演示如何使用属性定义名为”RuleSetA”的规则集。

此代码定义了一个名为Customer的类,它包含许多属性,如FirstName和LastName。附加到这些属性的属性将它们与验证器相关联。例如,StringLengthValidator属性附加到FirstName属性,并将其与StringLengthValidator类关联。该属性包括两个构造函数参数,用于约束FirstName字段中包含的值的长度、一个指定要应用的规则集的参数和一个定义消息模板的参数。消息模板包含验证失败时返回的消息。验证属性的Ruleset参数指示应用程序块将使用”RuleSetA”而不是匿名的默认规则集。在本例中,ObjectValidator属性是”RuleSetA”规则集的一部分,并引用Address类的”RuleSetA”规则集。

using Microsoft.Practices.EnterpriseLibrary.Common.Configuration; using Microsoft.Practices.EnterpriseLibrary.Validation; using Microsoft.Practices.EnterpriseLibrary.Validation.Validators; public class Customer { private string firstName; private string lastName; private DateTime dateOfBirth; private string email; private Address address; private int rewardPoints; [StringLengthValidator(1, 50, Ruleset="RuleSetA", MessageTemplate="First Name must be between 1 and 50 characters")] public string FirstName { get { return firstName; } set { firstName = value; } } [StringLengthValidator(1, 50, Ruleset = "RuleSetA", MessageTemplate = "Last Name must be between 1 and 50 characters")] public string LastName { get { return lastName; } set { lastName = value; } } [RelativeDateTimeValidator(-120, DateTimeUnit.Year, -18, DateTimeUnit.Year, Ruleset="RuleSetA", MessageTemplate="Must be 18 years or older.")] public DateTime DateOfBirth { get { return dateOfBirth; } set { dateOfBirth = value; } } [RegexValidator(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", Ruleset = "RuleSetA")] public string Email { get { return email; } set { email = value; } } [ObjectValidator("ValidAddress", Ruleset="RuleSetA")] public Address Address { get { return address; } set { address = value; } } [RangeValidator(0, RangeBoundaryType.Inclusive, , RangeBoundaryType.Inclusive, Ruleset="RuleSetA", MessageTemplate="Rewards points cannot exceed 1,000,000")] public int RewardPoints { get { return rewardPoints; } set { rewardPoints = value; } } } 

验证属性目标

验证属性可以与各种目标一起使用。下表列出了目标,并描述了与属性关联的验证器的行为。

验证修饰符属性

验证修饰符属性允许您修改验证属性的行为。修饰符包括:

  • · ValidatorComposition
  • · IgnoreNulls
  • · HasSelfValidation
  • · SelfValidation

ValidatorComplace属性允许您将复合验证器作为属性提供。使用它,您可以覆盖在使用多个验证器属性时发生的默认行为。您可以指定CompantionType.AND或CompositionType.Or作为该属性的参数。默认的组合类型是和。默认行为与不使用属性相同。通常,当逻辑复杂且需要OR操作以及和操作时,可以使用和组合类型。

您可以在企业库配置、企业库验证应用程序块和数据分析的上下文中拥有复合验证器。当使用DataAnnoations属性时,复合验证器只能是一个隐式属性和属性的一个隐式验证器。对于验证应用程序块属性,复合验证器是由默认情况下使用属性的和属性组成的。可以通过ValidatorComplace属性更改复合验证器逻辑。

企业库配置不依赖属性。配置有自己的结构来组成验证器。将实际使用的验证器通过使用逻辑规则和规则将这三个来源的规则结合在一起。结果与每个源的验证器的组成方式无关。

如果正在检查的值为NULL,则IgnoreNulls属性将不调用其他验证器。下表显示了如何组合属性以实现配置规则集中使用和验证器的常用方法的一些示例。

HasSelfVal环流属性标记一个包含自验证逻辑的类。SelfVal环流属性标记该类中的自验证方法。有关更多信息,请参见。

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/16271.html

(0)
上一篇 2024年 9月 18日
下一篇 2024年 9月 18日

相关推荐

关注微信