[英]MVC Validation on HttpGet
我有一个连接到HttpGet方法的搜索表单
[HttpGet]
public ActionResult Search(Filter filters){
{
...
}
我想做的是模式验证,即在HttpPost中完成的方式。 但是,我不想使用HttpPost方法,因为我希望允许用户能够为其搜索结果添加书签。 过滤器是我的dto。
有没有一种方法可以提高HttpGet方法中的验证? 喜欢..
if (!filters.Name.HasValue)
{
this.ModelState.AddModelError("Name", "THis is a required Field...");
或使用数据注释
public class Filter {
[Required]
string Name {get;set;}
...
不知道这是否是正确的方法。 同样,我不确定哪种方法最好。 任何帮助/建议都很好。
是的,这很好。
模型绑定和验证不需要 HTTP方法为POST
。
尽可能尝试使用数据注释。 他们干净优雅。 如果需要,请创建自己的。
请记住,带数据注释的验证应该很简单; 即检查值是否已填充并满足最基本的要求(长度,数据类型)。 之后,可以进行更严格的验证(如果需要)。
然后,您需要返回足够的视图以向用户显示搜索结果或搜索中的任何问题,以便他们可以重试。
除了回答您的问题,我无能为力了。 您的方法很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.