Windows 10(通用 Windows 应用程序)数据验证

2023-12-25

我试图弄清楚如何在UWP下进行数据验证,但根据我发现的情况,基本上还没有什么可以实现的。

因此,我尝试实现我的自定义验证逻辑。我现在遇到的问题是,我在一个上显示错误信息TextBlock而不是直接在特定的TextBox其中包含数据错误。

这就是我现在所做的:

public class Customer : ViewModel
{
    private string _Name = default(string);
    public string Name { get { return _Name; } set { SetProperty(ref _Name, value); OnPropertyChanged("IsValid"); } }


    private string _Surname = default(string);
    public string Surname { get { return _Surname; } set { SetProperty(ref _Surname, value); OnPropertyChanged("IsValid"); } }

    private DateTime _DateOfBirth = default(DateTime);
    public DateTime DateOfBirth { get { return _DateOfBirth; } set { SetProperty(ref _DateOfBirth, value); OnPropertyChanged("IsValid"); } }

    public int ID { get; set; }

    public bool IsValid
    {
        get
        {
            //restart error info
            _ErrorInfo = default(string);
            if (string.IsNullOrWhiteSpace(Name))
                _ErrorInfo += "Name cannot be empty!" + Environment.NewLine;

            if (string.IsNullOrWhiteSpace(Surname))
                _ErrorInfo += "Surname cannot be empty!" + Environment.NewLine;

            //raise property changed
            OnPropertyChanged("ErrorInfo");

            return !string.IsNullOrWhiteSpace(Name) &&
                !string.IsNullOrWhiteSpace(Surname);
        }
    }


    private string _ErrorInfo = default(string);
    public string ErrorInfo { get { return _ErrorInfo; } set { SetProperty(ref _ErrorInfo, value); } }

}

问题:

如何调整我的代码,以便我可以在每个文本框下分配标签并在那里显示验证错误,而不是使用一个包含所有错误信息的标签?我应该为此使用字典吗?如果是,我如何将它绑定到我的视图?


我很快就喜欢上了 Prism,看看这个精彩的演示使用 Prism 进行用户输入验证以及 UWP 上的数据注释 http://blogs.u2u.be/diederik/post/2015/09/27/User-input-validation-with-Prism-and-data-annotations-on-the-UWP.aspx.

它比我在这里输入的任何内容都要好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 10(通用 Windows 应用程序)数据验证 的相关文章

随机推荐

  • 将 Postgresql 数据存储在外部驱动器上

    我在使用 Windows 10 的台式机和笔记本电脑上安装了 Postgresql 14 有人可以告诉我如何将数据存储在外部 SSD 驱动器上 以便我可以将驱动器移动到另一台计算机而无需恢复吗 我正在考虑学习 Ubuntu 因为网上有人说
  • ListField 中文本右侧的复选框

    我想要带有图像的列表字段和文本右侧的复选框 我在左侧获得了图像 但无法在右侧获得复选框 如果可能的话 复选框应该是不可见的 只能看到刻度线 我想实现 Image text1 chechbox Image text2 Image text3
  • 在meteor.com 上拥有一个子域

    如果我将我的应用程序发布到子域 例如 spartan meteor com 我是否拥有该子域 或者其他用户可以从我这里拿走它吗 如果我可以拥有它 是否有相关文档 您可以为您的应用程序设置部署密码 meteor deploy P sparta
  • 为什么这里不遵循运算符优先级? [复制]

    这个问题在这里已经有答案了 在此代码中 int y 10 int z y y 5 我所期望的 First y 5由于最内层括号的优先级 将被执行 所以值y将为 11 该表达式的值将为 15 然后 y 将被执行 所以 12 15 180 所以
  • Magento 自定义支付网关

    我正在尝试为 Magento 编写一个自定义支付网关 该模块在管理后端 系统 配置 付款方式 中被识别 但在前端到达 付款信息 时 没有出现选择该模块的选项 下面包含我创建的三个 XML 文件以及它们所在的目录 任何帮助将非常感激 谢谢 根
  • 在hibernate(springboot)中使用左连接和分页编写sql本机查询[重复]

    这个问题在这里已经有答案了 我正在使用 spring data JPA 我想在我的存储库中编写 SQL 查询 我有以下 SQL 查询 注意 LEFT JOIN SELECT FROM institution LEFT JOIN select
  • MySQL 查询运行两次

    我有一个 php 文件 其中包含 PHP 简单 HTML DOM 解析器 include simple html dom php 这种包容性使我mysql query query 在我的页面上执行两次 如果我删除包含内容 mysql que
  • 无法加载 x64 和 x86 的文件或程序集“CefSharp.Wpf”;只有一部作品

    当我跑步时我得到 Could not load file or assembly CefSharp Wpf Version 41 0 0 0 Culture neutral PublicKeyToken 40c4b6fc221f4138 o
  • 将 pandas DataFrame 中带逗号的数字字符串转换为 float

    我有一个 DataFrame 其中包含数字作为字符串 并用逗号表示千位标记 我需要将它们转换为浮点数 a 1 200 4 200 7 000 0 03 5 0 df pandas DataFrame a 我猜我需要使用 locale ato
  • 在 Swift 中从字典中获取值或键时保留循环

    当我从字典中获取值并将它们放入数组时 我无法再释放内存 我尝试从数组和字典中删除所有对象 但这些对象仍然存在于某处 未调用 deinit 我是按照以下方式玩的 class MyData let i 0 init NSLog Init dei
  • 检索关联数据时出错。仅限Linux

    在这个问题之前 我有另一个与同一主题相关的问题 感谢 ndm 问题已得到解决 链接上一个问题 Cakephp 3 Windows和Linux操作系统在查询数据库时返回不同的结果 https stackoverflow com questio
  • 我们应该如何使用 pad_sequences 在 keras 中填充文本序列?

    我已经编码了序列到序列 https stackoverflow com questions 41933958 how to code a sequence to sequence rnn in keras我自己使用从网络教程中获得的知识和我
  • 如何正确取消闹钟应用程序中 AlarmManager 设置的 AlarmClock 闹钟?

    这个问题已经有答案了here https stackoverflow com q 16999343 5993712 here https stackoverflow com q 20159649 5993712 and here https
  • FragmentPagerAdapter 的第二个片段中的访问受限

    我有两个类似的onViewCreated结构片段 1st Override public void onViewCreated NonNull View view Nullable Bundle savedInstanceState sup
  • 数据更新后 Flutter listview 不更新

    我在 BottomSheet 中有一个 ListView 它是使用元素数组构建的 目前我有一项 空 然后 clear 在异步数据库调用后编辑并填充 变量更新是正确的 我尝试使用setState 但 ListView 根本没有更新 我需要关闭
  • 从 Kubernetes 日志中提取行

    我是 kubernetes 的新手 并且仍在尝试从几行中提取日志并写入它 如果有人可以帮助我应该执行哪些命令 如果 pod 名为 bino 并且我想提取与错误无法访问网站相对应的行 然后将它们写入某个位置 例如 John Doe bino
  • 签名时发生错误:找不到 SignTool.exe

    当我尝试更新我正在制作的项目时 我第一次看到错误 签名时发生错误 找不到 SignTool exe 我以前从未见过这个 所以我查了一下 SignTool exe 是为 ClickOnce 部署签署我的项目的东西 我还读到它是 Windows
  • 远程设备面板发生了什么变化?

    我正在运行 Chrome 80 在准备移动调试时 我观察到以下情况 该面板已迁移到其自己的选项卡 并且其功能已更改 我检查了变更日志 https developers google com web updates 2020 01 devto
  • 什么是? python pyodbc 模块中的意思

    import pyodbc cursor execute INSERT INTO Testing Param Seed Number Cycle Name VALUES 0 CoupleIn 是什么意思 代码中的意思是 当我尝试替换 s 代
  • Windows 10(通用 Windows 应用程序)数据验证

    我试图弄清楚如何在UWP下进行数据验证 但根据我发现的情况 基本上还没有什么可以实现的 因此 我尝试实现我的自定义验证逻辑 我现在遇到的问题是 我在一个上显示错误信息TextBlock而不是直接在特定的TextBox其中包含数据错误 这就是