0

假设我有一个实体 Person(id, dept, EmailAddress,DOB, ...),当使用 EF 创建模型时,然后为此类创建一个元数据类以将验证规则放在服务器端,例如:

[CustomValidation(typeof(MyValidator), "DOBValidator")]
public Nullable<DateTime> DOB { get; set; }

[RegularExpression("^([\\w-\\.]+)@((\\[[0–9]{1,3}\\.[0–9]{1,3}\\.[0–9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4" + "}|[0–9]{1,3})(\\]?)$", ErrorMessage = "Invalid email address")]
[StringLength(128)]
public string EmailAddress { get; set; }

当验证规则到位时,对于从客户端发送的任何数据,在提交任何数据进行保存时都将毫无例外地进行验证。

但现在我想要规则的例外:从 UI,当通过绑定实体 Person 从 UI 获取数据时,基于数据,我想忽略验证。例如,当 Dept=A 时,不检查 EmailAddress 验证,对于 dept=B,不检查 DOB 验证。

如何解决这个问题?

4

1 回答 1

0

我相信您需要类级别的验证。看看这个问题 当然,您的代码需要在客户端编译。(如果使用 WCF ria 服务,有几种方法可以达到此目的)

高温高压

于 2012-08-02T12:19:53.957 回答