C# HttpGet上的MVC验证
我有一个连接到HttpGet方法的搜索表单C# HttpGet上的MVC验证,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个连接到HttpGet方法的搜索表单 [HttpGet] public ActionResult Search(Filter filters){ { ... } 我希望能够做的是模态验证,就像在HttpPost中那样。然而,我不想使用HttpPost方法,因为我想让用户能够为他们的搜索结果添加书签。 过滤器是我的dto 有没有办法在HttpGet方法中进行验证?像 if (!filters.Name.HasValue) {
[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
尽可能使用数据注释。它们干净优雅。如果需要,创建自己的
记住,数据注释验证应该是简单的;i、 e.检查是否填充了值并满足最基本的要求(长度、数据类型)。之后,可以进行更认真的验证(如果需要)
然后,您需要返回一个适当的视图,向用户显示搜索结果或搜索中的任何问题,以便他们可以重试
除了回答你的问题之外,我没有什么可以补充的了。你的方法很好