Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET核心MVC参数验证_C#_Asp.net_Entity Framework_Asp.net Core - Fatal编程技术网

C# .NET核心MVC参数验证

C# .NET核心MVC参数验证,c#,asp.net,entity-framework,asp.net-core,C#,Asp.net,Entity Framework,Asp.net Core,我正在使用.net核心mvc和EF制作登录方法 [HttpPost(“/login”)] 公共IActionResult登录(登录到参数) { 如果(!ModelState.IsValid) { 返回错误请求( Json ( 新意 { Message=“错误请求” } ) ); } } 我有一个用户模型。但登录时使用两个数据用户名和密码 所以我在课堂上签了名 但即使参数为空,ModelState.IsValid也始终返回True 我打印了params。他们是emtpy 我做错了什么?只是需要

我正在使用.net核心mvc和EF制作登录方法

[HttpPost(“/login”)]
公共IActionResult登录(登录到参数)
{
如果(!ModelState.IsValid)
{
返回错误请求(
Json
(
新意
{
Message=“错误请求”
}
)
);
}
}

我有一个用户模型。但登录时使用两个数据用户名和密码

所以我在课堂上签了名

但即使参数为空,ModelState.IsValid也始终返回True

我打印了params。他们是emtpy


我做错了什么?

只是需要改变你的课程:-

public class SignInDto
{
    [Required]
    [StringLength(50)]
    public string username { get; set; }

    [Required]
    [StringLength(50)]
    public string password { get; set; }
}


它应该很好用。实际上,验证程序忽略字段上的
[RequiredAttribute]
,它只考虑属性。

在参数之前使用
[FromBody]
,谢谢:)谢谢,它可以:)我还在参数之前添加了一个属性[FromBody]
public class SignInDto
{
    [Required]
    [StringLength(50)]
    public string username { get; set; }

    [Required]
    [StringLength(50)]
    public string password { get; set; }
}