使用 NancyFX 进行模型验证

2024-03-11

我真的很习惯 ASP.NET MVC 方法:用相应的属性注释模型,MVC 验证它并更新 ModelState.Errors,ModelState 在视图上可用,因此可以向用户显示错误。

我还没有找到相关信息wiki https://github.com/NancyFx/Nancy/wiki/_pagesNancyFX 到底应该如何做?在sources https://github.com/NancyFx/Nancy/tree/master/src/Nancy/Validation/Rules我可以看到 Nancy 尝试使用规则,但如何正确应用并在视图上显示失败?

EDIT:问题与 Nancy 0.9 相关,根据@TheCodeJunkie 0.10 将对此进行更改。


在当前的标记版本(0.9)中,我们没有任何内置的模型验证支持。然而,随着即将发布的(很可能在本周末)0.10 版本,我们将添加对模型验证的支持,并将发布用于使用数据注释或流畅验证的 nuget 包。

master 分支包含一个演示项目,展示如何使用它们https://github.com/NancyFx/Nancy/tree/master/src/Nancy.Demo.Validation https://github.com/NancyFx/Nancy/tree/master/src/Nancy.Demo.Validation

当然,验证内容是可扩展的,您可以为自己选择的验证框架提供自己的实现。 Nancy 核心仅包含一小组扩展点,然后实际的实现作为单独的 nuget 提供。

0.10 版本将包含第一个构建块,允许根据您的模型创建客户端验证。然而,0.10 版本将not包含实际的客户端验证内容,但提取验证信息的挂钩就在那里,如本示例模块所示

https://github.com/NancyFx/Nancy/blob/master/src/Nancy.Demo.Validation/ProductsModule.cs#L16 https://github.com/NancyFx/Nancy/blob/master/src/Nancy.Demo.Validation/ProductsModule.cs#L16

希望这可以帮助!

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

使用 NancyFX 进行模型验证 的相关文章

  • 在 Azure 上运行 .NET 应用程序

    我拥有在 Amazon EC2 上运行应用程序的丰富经验 它需要一台低端服务器 我目前为该服务器支付大约 90 美元 月 是的 我知道我并不真正需要可扩展性 但我仍然使用 EC2 我想知道将这个纯粹的 NET 应用程序迁移到 Microso
  • 策略模式还是命令模式?

    假设我有一个金融交易列表 我需要针对这些交易执行一系列验证规则 一个例子是我有一笔购买产品的交易 但是首先我需要验证交易中的帐户是否有足够的可用资金 产品没有售完等 由于这些规则 交易将是标记为拒绝 并应指定错误代码 当然 我正在考虑用一个
  • WCF WebHttp 混合身份验证(基本和匿名)

    所有这些都与 WebHttp 绑定有关 托管在自定义服务主机中 IIS 目前不是一个选项 我已经实现了自定义 UserNamePasswordValidator 和自定义 IAuthorizationPolicy 当我将端点的绑定配置为使用
  • .pdbs 会减慢发布应用程序的速度吗?

    如果 dll 中包含 pdb 程序调试 文件 则行号将出现在引发的任何异常的堆栈跟踪中 这会影响应用程序的性能吗 这个问题与发布与调试 即优化 无关 这是关于拥有 pdb 文件的性能影响 每次抛出异常时都会读取 pdb 文件吗 加载程序集时
  • MSMQ接收和删除

    是否有任何选项可以在读取消息后将其从 MSMQ 中删除 比如 接收 删除可以作为原子操作运行吗 听起来您想查看下一条消息 然后在处理完成后接收它 Message message Queue Peek Queue ReceiveById me
  • PrivateObject 找不到属性

    我的结构基本上如下所示 abstract class A protected string Identificator get set private void DoSomething DoSomethingSpecific protect
  • 我需要安装什么才能获取 Microsoft.TeamFoundation.WorkItemTracking.Client.dll?

    我只需要安装VS2010 SDK http www microsoft com downloads en details aspx FamilyID 47305cf4 2bea 43c0 91cd 1b853602dcc5 是否有 TFS2
  • 将 dll 注册到 GAC 或从 ASP.NET 中的 bin 文件夹引用它们是否更好

    如果答案是 视情况而定 您能否提供一个简短的解释 GAC 旨在包含以下组件跨多个应用程序共享 如果是这种情况 您应该对程序集进行强命名并向 GAC 注册 如果不是 请将程序集保留为私有程序集并将其作为项目 dll 引用进行引用 PS 没有真
  • vb.net HtmlAgilityPack 在 div 之后插入字符串

    我试图在 div 末尾直接插入一些我自己的 html 这个 div 里面有其他 div Dim HtmlNode As HtmlNode HtmlNode CreateNode span class Those were the frien
  • 获取 System.Drawing.Font 宽度?

    我正在使用 Net 工具进行一些 2D 绘图 System Drawing Font uses a GetHeight 返回以像素为单位的高度 我缺少一个GetWidth 检索宽度 我应该用什么 Use Graphics MeasureSt
  • EditText 中的验证允许 IP 或 Web Url 主机

    我需要对我的 EditText 进行验证 以便它允许我输入有效的 IP 地址格式 即示例 132 0 25 225 or 网址格式 www 例如 www example com 逻辑是 如果用户首先输入任何数值 则验证 IP 将执行操作 否
  • 为什么 EF 5.0 在编译为 sql 时不支持此 EF 4.x LINQ 语法?

    我有一些代码最近从 EF 4 2 升级到 EF 5 0 实际上是 EF 4 4 因为我在 Net 4 0 上运行 我发现我必须更改查询的语法 我很好奇为什么 让我从问题开始 我有一个由客户端定期填充的事件日志表 对于每个事件日志 都会在报告
  • 在 .Net 应用程序中使用 Active Directory Web 服务

    我正在尝试构建一个 Net 应用程序来询问 Active Directory 编辑 我需要使用 Web 服务来执行此操作 因为我将使用需要使用 Web 服务的第三方工作流工具从 Sharepoint 工作流与 AD 进行通信 根据我的研究
  • 如何在c#中生成8字节GUID值? [复制]

    这个问题在这里已经有答案了 可能的重复 如何从 GUID 生成 8 字节唯一 ID https stackoverflow com questions 5678177 how to generate 8 bytes unique id fr
  • Api 控制器中长时间运行的任务(使用 Web API,自托管 OWIN)

    我想在自托管 OWIN 环境中的 ApiController 中运行长时间运行的任务 例如 4 5 分钟 但是 我想在开始该任务后 一旦开始长时间运行的任务 就发回响应 而不等待它完成 这个长时间运行的任务与 HTTP 无关 并且顺序运行一
  • 验证纬度和经度

    我想验证纬度和经度 现在 我只是检查该值是否不为空 但我想要进行验证以检查它是否是有效的纬度或经度 我怎么做 我的财产是这样的 public string Lat get return this lat set base Validatio
  • 为什么密码错误会导致“填充无效且无法删除”?

    我需要一些简单的字符串加密 所以我编写了以下代码 有很多 灵感 来自here http www codeproject com KB security DotNetCrypto aspx create and initialize a cr
  • 从 Orchard 内的主题渲染图像

    我刚刚选择 Orchard 来构建我的博客 作为创建这个新博客的努力的一部分 我正在创建一个自定义主题 这个自定义主题同时具有 CSS 和图像 我的问题 我的问题基本上可以归结为 如何渲染属于主题一部分的图像 到目前为止我已经尝试过的 我尝
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • 如何打开 Windows 资源管理器窗口并选择特定文件夹

    我有一个 winform 应用程序 这个 winform 应用程序创建了几个文件 我想在我的应用程序中实现 查找目标 功能来显示这些文件 这些文件位于同一文件夹中 看图片 假设我创建了几个文件 C Test 文件夹 该文件夹包含以下文件 C

随机推荐

  • RDF 读取/解析错误

    我有一些 RDF 文件 我想将其导入到 tripplestore AllegroGraph 中 但在第一个文件中 我收到 SAX 解析器错误 指出存在无法识别的字符 删除有问题的行后 一切都很好 然后我尝试使用 W3C RDF 验证器和带有
  • ES6代理类,访问私有属性(无法从类未声明的对象中读取私有成员#hidden)

    我正在研究代理对象 类和私有属性 并遇到了这个错误消息 home marc projects playground pipeline clsss js 14 this hidden this hidden TypeError Cannot
  • jQuery - 动态创建的选项卡元素不会触发事件

    我在用jQuery UI 选项卡 http docs jquery com UI Tabs div ul li a href fragment 1 span One span a li ul div 我有一个添加新选项卡的按钮 我使用以下代
  • 承诺进展情况

    Theory 我在开始时做出了大约 100 个承诺 然后使用Promise all 这 100 个 Promise 中的每一个都会依次进行一些异步 REST 调用 其响应可能主要有所不同 例如由于网络连接 解决所有 100 个承诺的过程大约
  • 用鼻子重复进行单次或多次测试

    如同这个问题 https stackoverflow com questions 4088354 is it possible to use nose to run one test multiple times concurrently
  • 在 Go 中,我可以返回满足接口的结构而不访问该接口吗?

    我认为解释这一点的最好方法是通过例子 所以这里是 package main import fmt Greeter greets with a Greeting type Greeter interface Greet Greeting A
  • 如何防止弹性框随内容增长

    在下面的代码和 jsfiddle 中 flexbox 比例随内容而变化 我感觉我不明白 flexbox 的真正目的 如果我们给予flex grow我们想要的比例的属性 为什么盒子会随着内容而增长 通知何时dataDiv其中有新的跨度内容 比
  • Django - 默认字段值取决于其他字段值

    我在设置默认字段值时遇到问题 我想做的事 我希望 Packages 类中的价格成为 Bill 类中 PriceNoTax 的默认值 正如你所看到的 所有三个类都是 逻辑上有联系的 示例 账户 1 有一个 id 为 1 的包裹 该包裹的价格为
  • 高斯模糊和 FFT

    我正在尝试为学校项目实施高斯模糊 我需要同时实现 CPU 和 GPU 来比较性能 我不太确定我是否理解高斯模糊的工作原理 所以我的问题之一是 如果我理解正确的话 这就是我现在所做的 我使用维基百科中的方程http en wikipedia
  • 实体框架引用不会自动加载

    在 ADO Net 实体框架中 我有一个对象 它有 4 个对其他对象的引用 由于某种原因 当我查询这些引用时 其中两个会自动加载 如预期 并且其中两个始终返回 null 奇怪的是 当我manually要求加载参考文献 他们加载得很好 举个例
  • 使用动词时工作目录不起作用

    Using Start Process when Verb被使用时 Workingdirectory选项不起作用 新的 powershell 始终启动于C WINDOWS system32 为什么是这样 我怎样才能做到这一点而不需要额外的c
  • 如何使用 powershell 循环创建 XML 文件的元素?

    我要创建 xml 文件 我从 ini 文件中选取的 xml 元素 我的 ini 文件超过 1 个 我尝试了这个 但仍然只能创建 1 个元素 我的 ini 文件中有 2 种类型的内容文件 第一 Product Name NB A String
  • 垂直 ViewPager2 与 RecyclerView 滚动问题

    我使用的是 ViewPager2 它有两个垂直方向的片段 当用户向下滑动到第二个片段时 有一个 RecyclerView 以相同的垂直方向滚动内容 问题是当我滚动 RecyclerView 的内容时 有时 ViewPager2 捕获滚动事件
  • 如何将 unicode 字符变成小写字母

    我在 VC MFC 中将 unicode 字符转换为小写字母时遇到问题 我在 CString 变量中有 unicode 字符 所以 使用英语 MakeLower 工作正常 我得到小写字母 但它无法将 unicode 字符转换为小写 我确实尝
  • 如何获得whenComplete和thenCompose的组合效果?

    我试图想出一个具有以下综合效果的 CompletableFuturewhenComplete and thenCompose 具体来说 返回一个CompletionStage而不仅仅是结果 类似于thenCompose 即使前一阶段异常完成
  • 我的程序在打开该活动时给出“应用程序不断停止”的错误是什么?

    应用程序正常打开 但在打开此活动时显示 应用程序不断停止 我不明白有什么问题 也许API级别与calendar get 不兼容 如果是这样我该如何修复它 public class SearchRide extends AppCompatAc
  • PHPUnit生成的测试骨架路径

    是否可以通过 sculpture test 命令告诉 phpunit 将生成的测试框架文件放在哪里 甚至可以告诉 phpunit 重复目录结构吗 以免说我有用于测试的文件lib model SomeClass php我希望 phpstorm
  • 立即在 Android 上显示自动完成功能

    Android 自动完成功能仅在两个字母后启动 如何才能在刚刚选择字段时显示列表 要使自动完成功能在焦点上显示 请添加焦点侦听器并在字段获得焦点时显示下拉菜单 如下所示 editText setOnFocusChangeListener n
  • 使用 HtmlService 在 google apps 脚本中保存状态的位置

    我有以下发布的网络应用程序code gs var queryString function doGet e queryString e queryString logger only works if the return value is
  • 使用 NancyFX 进行模型验证

    我真的很习惯 ASP NET MVC 方法 用相应的属性注释模型 MVC 验证它并更新 ModelState Errors ModelState 在视图上可用 因此可以向用户显示错误 我还没有找到相关信息wiki https github