如何在 C# 中验证 localhost 的 url

2024-04-12

我在 MVC 中使用 UrlAttribute

但它不接受本地主机网址,例如http://localhost/GCWeb http://localhost/GCWeb

[Url(ErrorMessage = "please_enter_valid_ftp_url", ErrorMessage = null)] 
public string Url { get; set; }

这会验证 url,但不会验证本地主机 url。

我怎样才能做到这一点?


我还建议创建一个自定义验证器属性类。但我想使用 System.Uri 类来验证而不是自定义个人正则表达式。

public class UriAttribute: ValidationAttribute
{
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        Uri uri;
        bool valid = Uri.TryCreate(Convert.ToString(value), UriKind.Absolute, out uri);

        if (!valid)
        {
            return new ValidationResult(ErrorMessage);
        }
        return ValidationResult.Success;
    }
}

通过使用 System.Uri 类,我们可以消除自己的正则表达式出错的机会。

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

如何在 C# 中验证 localhost 的 url 的相关文章

  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l

随机推荐

  • 使用 java Spark 从 csv 读取列

    我尝试用java和spark读取csv 现在我这样做 String master local 2 String csvInput home username Downloads countrylist csv String csvOutpu
  • 单线程使用不同的连接参数写入不同的数据库

    我正在开发一个项目 其中不同的数据库中有三个具有不同模式的表 这意味着我有三个不同的连接参数来使用 JDBC 连接这三个表 让我们假设 对于表1 Username A Password B URL C Columns ID1 String
  • 使用 OpenSSL 进行加密,方式与 Java 相同

    我必须使用 bash 脚本加密字符串 就像使用 javax crypto Cipher 加密一样 在java中 我使用AES 256和密钥 0123456789 但是当我使用openssl时 我必须将 0123456789 转换为十六进制
  • 将图片插入 JTextPane

    在我的记事本应用程序中 我尝试添加图像 就好像它是JLabel into a JTextPane通过单击JMenuItem called Picture private class Picture implements ActionList
  • 如何向我的服务器添加线程?

    我是 Java 初学者 我有一个任务是构建 P2p 文件共享 Java 应用程序 我首先创建服务器和客户端 客户端可以向服务器发送消息 服务器做出响应 我相信下一步应该是将线程插入服务器类中 我阅读了所有相关内容并尝试了它 但我就是无法成功
  • 以编程方式比较图像 - lib 或类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用Windows安全描述符来阻止执行其他应用程序?

    在我最近关于使用 CreateDesktop API 调用创建新桌面并在其中执行我自己的应用程序并防止其他应用程序在我的桌面中执行的问题之一中 有人指出我使用安全描述符 这里有人可以告诉我该怎么做吗 提前致谢 所有命名对象 包括您创建的桌面
  • 如何知道 QLineEdit 是否获得焦点?

    我想知道是否在QLineEdit一声点击 所以我想我应该重新实现以下函数 void QLineEdit focusInEvent QFocusEvent e virtual protected 我该怎么做呢 另外请告诉我如何使用focusI
  • 在Python中更改文件头的有效方法

    我正在尝试编写一个 python 脚本来更新一些大文件的标头 仅第一行 但是由于新标头不必与原始标头的大小 以字节为单位 相同 无论如何我可以更改标题而不触及大文件的其余部分 或者我必须通读所有内容并将它们写回文件 不 您可以在不触及整个文
  • Ember 中可靠的视图

    我有一个列出专辑的应用程序 当同时点击专辑时AlbumView and App overlay 也是一个视图 被显示 App overlay Ember View create 类似灯箱的叠加 and App AlbumView Ember
  • 从不同线程写入相邻的数组元素?

    是否有任何现代的常见 CPU 从不同线程同时写入数组的相邻元素是不安全的 我对 x86 特别感兴趣 您可能会认为编译器不会做任何明显荒谬的事情来增加内存粒度 即使它在技术上符合标准 我对编写任意大结构的情况感兴趣 而不仅仅是本机类型 Not
  • 有没有办法在 Linux 上使用 QFileDialog 自动向文件添加扩展名

    我希望用户能够输入将保存为 xml 文件的文件的名称 目前在 Windows 和 Mac 上 如果您输入 test 作为文件名 它会自动添加 xml 这就是我想要的 不幸的是 在测试 Linux 版本时 我发现输入不带扩展名的文件名会保存为
  • 如何安装 Dart v2?

    我浏览了 Dart 官方网站 他们深入探讨了 开发 渠道和 稳定 渠道 但对如何实际安装 SDK 版本一无所知 也没有有关当前稳定版和开发版的信息 显然我错过了隐藏在普通网站中的东西 我想尝试一些官方的 angulardart 组件库 但构
  • ASP.NET Gridview 中没有时间的日期格式

    在 ASP NET gridview 中绑定两个日期 我要显示dd MM yyyy但它显示10 03 2014 00 00 00
  • 如何在 Android 上保持在后台监听推送通知

    我正在研究 Android 中的推送通知 现在的问题是 我想在应用程序启动后立即在后台运行推送通知 因为我不知道服务器何时将数据推送到设备 主要要求是我们的企业应用程序有超过 10 个活动 并且根据收到的通知 我必须将相关活动置于前台 以便
  • 如何使用maven操作Manifest文件

    我有一个用 Maven 构建的 EAR 文件 EAR 包含多个 jar 我需要在清单文件中为其中一个 jar 添加一行 我知道 maven jar plugin 选项 manifestEntries 但这对于单个独立 jar 很有用 而不是
  • MySQL 实体框架错误 - 在配置中找不到指定的存储提供程序,或者指定的存储提供程序无效

    我用 C 编写了一个程序集来执行 MySQL 数据库的所有数据访问 我已在我的 C winform 桌面应用程序中成功使用了该程序集 已编译的 dll 但它仅适用于安装了 MySQL Connector Net 6 4 4 的电脑 我尝试在
  • Java 优化器会删除空方法调用的参数构造吗?

    假设我有这样的代码 log info Now the amount amount seems a bit high 我将用虚拟实现替换 log 方法 例如 class Logger public void info 如果没有检测到副作用 优
  • 如果 call_user_func 返回 false 该怎么办?

    我正在调用的函数call user func应该返回FALSE 那么如果可调用无效 我如何检测错误呢 旁注 为什么他们没有抛出异常而不是返回错误代码 或者有没有办法 捕获 错误 我有一个错误句柄 我应该让它为我抛出异常吗 如果你想检查要调用
  • 如何在 C# 中验证 localhost 的 url

    我在 MVC 中使用 UrlAttribute 但它不接受本地主机网址 例如http localhost GCWeb http localhost GCWeb Url ErrorMessage please enter valid ftp