gpt4 book ai didi

mvvm - 有没有办法在 Silverlight 中的控件中进行简单验证

转载 作者:行者123 更新时间:2023-12-03 10:40:30 24 4
gpt4 key购买 nike

我来自 Delphi 编程世界,我开始学习 Silverlight、 Entity Framework 、RIA 服务、MVVM 和所有这些东西。

我想知道是否有某种技术、控件、方法、模式或其他东西可以让您在用户输入时在客户端中进行一些简单的验证或验证。在 Delphi 世界中,控件(DB-Aware 控件)有能力做到这一点,它们知道它们显示的数据类型,您可以配置最大长度,一般来说,它们知道有关数据的一些信息,例如浮点类型不允许超过一个点,依此类推。

我理解是不同的,您必须在您的业务类、服务、模型、域中进行验证,这取决于您使用的内容以及您的数据库。

有什么想法可以帮助解决这个问题吗?

对不起,我的英语不是我的主要语言。

最佳答案

Silverlight 中的验证与绑定(bind)密切相关,最常见的是通过以下两种主要方式之一完成:

  • 在属性 setter 中使用 DataAnnotation 生成的验证器进行客户端验证
  • 服务器端验证在实体提交到存储时完成

  • 当验证失败时,客户端验证器依赖于 setter 中抛出的异常。当验证器失败时,服务器端验证会返回通知。两个binidng选项是 ValidatesOnExceptions (客户端)和 NotifyOnValidationError (服务器端。)

    听起来您想要在键入时进行“实时”验证。最实际的应用是格式验证,例如电子邮件地址或社会安全号码。这通常使用正则表达式验证器来完成。

    简短的故事是不,这种类型的验证没有“开箱即用”的东西,但可以做到。使用 DataAnnotations 在属性级别应用验证:

    http://msdn.microsoft.com/en-us/library/dd901590(v=vs.95).aspx

    您可以使用 RegularExpressionAttribute 根据正则表达式验证文本属性。但是,在正常情况下,您的值只会在更新后被验证,这意味着只有当您离开正在验证的控件时才进行验证。您可以使用 UpdateSourceTrigger=Explicit键入时要验证的绑定(bind)选项:

    http://msdn.microsoft.com/en-us/library/system.windows.data.binding.updatesourcetrigger(v=vs.95).aspx

    下面是 Silverlight 中数据验证的一个很好的概述:

    http://www.devproconnections.com/article/silverlight-development/Silverlight-Data-Validation.aspx

    关于mvvm - 有没有办法在 Silverlight 中的控件中进行简单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5033071/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com