动态语言运行时 – NancyFX:如何检查查询字符串表单值是否已正确传递给我的处理程序?

动态语言运行时 – NancyFX:如何检查查询字符串表单值是否已正确传递给我的处理程序?,第1张

概述Nancy通过动态变量将我的查询字符串表单传递给我的处理程序.下面的示例显示了通过Nancy请求传递给POST处理程序的表单值,例如Request.Form.xxx. 处理器 Post["/"] = _ => { var userId = (string) Request.Form.userid; if (userId.IsEmpty()) return Nancy通过动态变量将我的查询字符串和表单值传递给我的处理程序.下面的示例显示了通过Nancy请求传递给POST处理程序的表单值,例如Request.Form.xxx.

处理器

Post["/"] = _ =>    {        var userID = (string) Request.Form.userID;        if (userID.IsEmpty()) return httpStatusCode.UnprocessableEntity;        return httpStatusCode.OK;    };

您可以看到我正在将userID转换为字符串,然后使用字符串扩展方法来检查值是null还是空字符串(相当于string.IsNullOrEmpty()).

我更喜欢的是在动态类型上使用扩展方法,以便在执行任何其他 *** 作之前执行我的健全性检查.我想要这样的代码:

if(Request.Form.userID.IsEmpty()) return httpStatusCode.UnprocessableEntity;

但是,您不能拥有动态类型的扩展方法.此外,您无法通过反射检查是否存在属性.欢迎来到DLR.

执行预检查以确保将预期的查询/表单值传递给我的Nancy处理程序的最简单,最安全的方法是什么?

谢谢

解决方法
Request.Form.userID.HasValue

适用于所有DynamicDictionary成员,例如表单,查询和路由参数

总结

以上是内存溢出为你收集整理的动态语言运行时 – NancyFX:如何检查查询字符串/表单值是否已正确传递给我的处理程序?全部内容,希望文章能够帮你解决动态语言运行时 – NancyFX:如何检查查询字符串/表单值是否已正确传递给我的处理程序?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1141530.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存