ramamoorthy_villi
ramamoorthy_villi

Reputation: 2055

Input validation error foreign key fields

namespace App.Models
{
    public class User 
    {
        public int Id { get; set; }
        public string Email { get; set; }
        public string Password { get; set; }
        public string Firstname { get; set; }

        public string Lastname { get; set; }

        public ICollection<Message> SentMessages { get; set; }
        public ICollection<Message> ReceivedMessages { get; set; }
    }
}

namespace App.Models
{
    public class Message 
    {
        public int Id { get; set; }
        public string Content { get; set; }
        public DateTime CreatedAt {get; set;}

        public int FromUserId { get; set;}
        public int ToUserId { get; set; }

        public User FromUser { get; set; }
        public User ToUser { get; set; }
    }
}

MessageController.cs:

public async Task<IActionResult> CreateMessage(Message message)
{
    _context.Messages.Add(message);
    await _context.SaveChangesAsync();
    return Ok(message);
}

Request body:

{
    "Content": "Hi, how are you",
    "FromUserId": 1,
    "ToUserId": 2
}

I'm getting this error:

"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"ToUser": [
"The ToUser field is required."
],
"FromUser": [
"The FromUser field is required."
]
},
}

What is missing? Can anyone help?

Upvotes: 0

Views: 34

Answers (1)

ĐẠT tRẦN
ĐẠT tRẦN

Reputation: 36

In class Message, you need allow null field FromUser, ToUser

  public User? FromUser { get; set; }
  public User? ToUser { get; set; }

Upvotes: 2

Related Questions