는 내가 기본 키와 null 일 수 없습니다ASP.NET MVC - ModelState.IsValid가 false 인 경우 무시하는 방법은 무엇입니까?
[Authorize]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult CreateCustomer(GWCustomer customer)
{
if (string.IsNullOrEmpty(customer.CustomerName))
{
ModelState.AddModelError("CustomerName", "The name cannot be empty");
}
//...
if (ModelState.IsValid)
{
//insert in db
}
}
내 문제가 GWCustomer
객체가 Id
을 가지고 있다는 것입니다 고객을 작성하고 작은 응용 프로그램이 있습니다. 그러면 유효성 검사 프레임 워크에 오류로 표시됩니다. 그러나 오류가 아니며 고객을 아직 만들지 않았으며 현재는 저장 될 때까지 null이어야합니다. 어떻게 우회합니까? 아니면 고쳐?
ModelState
이 유효하지 않으므로 결코 DB에 삽입하지 못합니다.
편집 저는 Linq to SQL과 저장소 패턴을 사용하고 있습니다.
실제로 유효성을 검사하는 방법에 대한 정보는 제공하지 않았습니다. 아마도 이것을 포함시키고 자 할 것입니다. 유효성 검사 프레임 워크는 무엇입니까? 검증 속성/메소드는 어떻게 생겼습니까? – Aaronaught
EntityFramework를 사용하면 모델 또는 DAO에 새 기본 개체를 요청한 다음 데이터를 채 웁니다. Metske Design Patterns에서는 "Builder"라고 불리는 반면 "Prototype"은 시도합니다. MVC는 이러한 접근 방식을 조금 더 좋아할 것입니다. –
귀하의 편집 내용은 여전히 "유효성 확인 프레임 워크"에 대해 설명하지 않습니다. Linq to SQL과 Repository Pattern은 검증 프레임 워크가 아닙니다. Linq to SQL은 Object-Relational Mapper이고 Repository Pattern은 CRUD 추상화입니다. 이들 중 어느 것도 ModelState와 상호 작용하지 않습니다. ID 유효성 검사 오류가 실제로 어디에서 발생합니까? 어떤 클래스/컴포넌트입니까? 실제로 ID의 유효성을 검사하는 코드 행은 어디에 있습니까? – Aaronaught