core MVC EF 질문드립니다

core MVC 이용해서 자그만한 게시판 개발중인데요
웹에서 컨트롤러로 제목, 내용을 넘겨서 컨트롤러에서 값을 검증 한 후 DB에 INSERT하는 로직인데
검증 과정에서 왜 false가 나오는지 이해할 수 없습니다.

ModelState.IsValid(); 없으면 정상적으로 INSERT 되기는 하는데 이유가 뭘까요?

요건 컨트롤러
스크린샷_20221229_014454

요건 모델
스크린샷_20221229_014913

요건 웹에서 값을 보냈을때
스크린샷_20221229_015031

그 값으로 벨리데이션 했을 때 false가 리턴
스크린샷_20221229_014840

선배님들 도와주십쇼 … fk설정이 잘못된건지 EF를 잘못쓰고 있는건지 길이 안보입니다 ㅠㅠ

1개의 좋아요

검증하는 부분이 어디에 있나요? => (ModelState.IsValid)
자동으로 되는 걸까요?

1개의 좋아요

올려주신 캡쳐만 보았을땐 딱히 문제는 없는거 같은데

혹시 User테이블에 PK 1 데이터로 실제 User 데이터가 존재 하나요?

(두 테이블이 정상적으로 관계설정이 되어 있고 모델 IsValid 체크를 안했을때 제대로 INSERT 된거라면 실제 User 데이터가 존재하는게 맞겠지만요., 혹시나 해서 답변 달아 보았습니다.)

1개의 좋아요

첫 번째 사진에 보시면 if(ModelState.IsValid){} 요기 있습니다.
검사 조건은 두번째 사진에 어노테이션 걸어준 내용이라고 알고있습니다 !

1개의 좋아요

네넵 … 값이 존재하기도 하고 관계설정도 되어있는데 저렇게 나오네요

1개의 좋아요

참고해보시면 좋을 듯 합니다!

2개의 좋아요

아 혹시 뷰 쪽에서 User를 계속 들고서 같이 넘기나요?
올려주신 마지막 캡쳐본 Model 유효성 체크 키중에 User이 있는게 조금 이상한거 같아서요

1개의 좋아요

아뇨 3번째 사진 빨간박스처럼 타이틀, 컨텐츠는 입력받아왔고 UserNo는 서버에서 세션에서 끄집어내서 사용하였고 User에 대한 내용은 없는데 저도 그게 의문입니다 왜 Valid에서 User가 걸리는건지 …

1개의 좋아요