gpt4 book ai didi

dynamic-language-runtime - 南希FX : How do I check if query-string/form values have been correctly passed to my handler?

转载 作者:行者123 更新时间:2023-12-04 10:05:08 26 4
gpt4 key购买 nike

Nancy 通过 dynamic 将我的查询字符串和表单值传递给我的处理程序多变的。下面的示例显示了通过 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;

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

问题

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

谢谢

最佳答案

Request.Form.userid.HasValue

适用于所有 DynamicDictionary 成员,例如 Form、Query 和路由参数

关于dynamic-language-runtime - 南希FX : How do I check if query-string/form values have been correctly passed to my handler?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10512727/

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