我正在使用带有 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/