c# - Silverlight - 验证一个属性

标签 c# silverlight entity-framework validation mvvm

我正在使用带有 WCF Ria 服务和 Entity Framework 的 MVVM 模式开发 Silverlight 应用程序。
在我的元数据类中,当我从前端表单(使用双向数据绑定(bind))提交实体数据时,验证规则工作得很好。

但现在我只想在我的一个文本框中验证 LostFocus 事件中的一个属性。

我在 viewmodel 类中尝试过这段代码:

Validator.ValidateProperty(myEntity.FirstName,
  new ValidationContext(myEntity, null, null)
  {
    MemberName = "FirstName"
  });

代码运行,但没有任何 react 。没有异常(exception),即使属性 FirstName 为空(也尝试过其他属性)。正如我提到的,当我将表单提交给 EF 时,验证有效。

有没有人有关于如何在不提交所有内容的情况下验证单个属性的提示?

最佳答案

在您的属性之前的元数据中添加 [必填(ErrorMessage = "请输入名字。")] 然后在你绑定(bind)属性的控件中添加这个东西模式=TwoWay,NotifyOnValidationError=True,ValidatesOnDataErrors=True

这可能会帮助你:)

关于c# - Silverlight - 验证一个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8501883/

相关文章:

c# - silverlight for wp7播放音效用什么

c# - WCF 服务在根据 PrincipalContext 验证凭据时抛出错误?

使用自定义控件时 Silverlight 错误 "Layout Cycle Detected Layout could not complete"

c# - 具有隐式转换的类型可以与 Entity Framework 映射吗?

C#:递归调用中的异常处理

c# - 银光 4 : How to find source UI element from contextmenu's menuitem_click?

c# - 是否有可能使用 Entity Framework 4,让主键在对象上的名称与在表中的名称不同?

c# - 在 LINQ 的 Entity Framework 中传入实体的属性

c# - 多线程调用委托(delegate)

c# - 确定 IQueryable<T> 是否已订购