获取参数使用 FromUri 并验证此参数
Get parameter use FromUri and validate this parameter
我在我的网站 api 操作中获取参数使用 [FromUri]
,例如:
public TestController
{
public ActionResult TestMethod([FromUri] int testParamFromUri)
{
//here is my validation
if(testParamFromUri < 1 || testParamFromUri > 50)
{
throw new TestException();
}
//other code
}
}
我只需要验证输入参数的使用属性,如果参数无效则抛出新的异常。
我尝试使用 Range 属性,如下所示:
public ActionResult TestMethod([FromUri] [Range(1,50,"Error message")] int testParamFromUri)
但是这种方式对我不起作用。
请告诉我哪里错了或者告诉我应该如何验证输入参数。
p.s。我需要使用 [FromUri]
属性获取输入参数并使用其他属性验证此参数。
您可以使用 testParamFromUri
属性 创建一个 Input
模型并使用 Range
属性验证它:
public class TestController : ApiController
{
public IHttpActionResult TestMethod([FromUri]Input input)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
//other code
return Ok();
}
}
public class Input
{
[Range(1, 50, ErrorMessage = "Error Message")]
public int testParamFromUri { get; set; }
}
我在我的网站 api 操作中获取参数使用 [FromUri]
,例如:
public TestController
{
public ActionResult TestMethod([FromUri] int testParamFromUri)
{
//here is my validation
if(testParamFromUri < 1 || testParamFromUri > 50)
{
throw new TestException();
}
//other code
}
}
我只需要验证输入参数的使用属性,如果参数无效则抛出新的异常。 我尝试使用 Range 属性,如下所示:
public ActionResult TestMethod([FromUri] [Range(1,50,"Error message")] int testParamFromUri)
但是这种方式对我不起作用。 请告诉我哪里错了或者告诉我应该如何验证输入参数。
p.s。我需要使用 [FromUri]
属性获取输入参数并使用其他属性验证此参数。
您可以使用 testParamFromUri
属性 创建一个 Input
模型并使用 Range
属性验证它:
public class TestController : ApiController
{
public IHttpActionResult TestMethod([FromUri]Input input)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
//other code
return Ok();
}
}
public class Input
{
[Range(1, 50, ErrorMessage = "Error Message")]
public int testParamFromUri { get; set; }
}