Hеllo의 evеrybody! MVC의 유효성 검사에 대한 질문이 있습니다. Constructor 또는 Model과 같은 입력 검증을 작성하는 것이 더 좋습니다. 일부 잘 알려진 프레임 워크 문서에서는 컨트롤러에서 작성하고 다른 모델에서는 모델로 작성합니다. 가능하다면 합리적인 의견을 제시하십시오. 감사.
MVC - 검증
답변
컨트롤러에 유효성 검사가 있으면 최종적으로 유효성 검사를보다 유연하게 할 수 있습니다. 그러나 컨트롤러에서 엉망이되어 코드의 가독성과 유지 보수성이 떨어집니다.
두 가지 옵션 만 고려할 경우 모델에서 유효성 검사가 더 적합한 것으로 보입니다. 그러나 데이터 주석은 필요할 때마다 유효성 검사의 유연성을 충분히 제공하지 못할 수도 있습니다.
는 아직 쉽게보기 모델로 통합, 완전히 검증을 분리 Fluent Validation project으로 보는 것이 좋습니다. 당신이하려는 코드의
예는 그것으로 쓰기 :
[Validator(typeof(PersonValidator))]
public class Person {
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public int Age { get; set; }
}
public class PersonValidator : AbstractValidator<Person> {
public PersonValidator() {
RuleFor(x => x.Id).NotNull();
RuleFor(x => x.Name).Length(0, 10);
RuleFor(x => x.Email).EmailAddress();
RuleFor(x => x.Age).InclusiveBetween(18, 60);
}
}
컨트롤러가 컨트롤러가 아닌 유효한 상태인지 아닌지를 결정해야합니다. 따라서 컨트롤러가 아닌 모델에 유효성 검사 코드가 있어야한다고 말합니다.
감사합니다. 나는 또한 모델을 선호한다. 내가 도울 수 – user997379
user997379 기뻐 @, 당신은 당신이에있는 상황에 따라 최선의 판단을 사용해야합니다, 모든 상황은 잠재적으로 다를 수 있지만 기억, 그래서 더 열심히하고 모두가 따라하는 빠른 규칙이 없다. –
- 1. MVC 3 유효성 검증 검증
- 2. MVC 검증 입력 검증 오류의 CSS 작동하지
- 3. MVC 검증 드롭 다운리스트
- 4. ASP.NET MVC 검증
- 5. 스프링 MVC 빈 검증
- 6. 스프링 MVC 검증 모델
- 7. 스프링 MVC 바인딩/검증
- 8. MVC 클라이언트 측 검증
- 9. MVC 텍스트 상자 검증
- 10. MVC 2.0 검증
- 11. 검증 MVC 3.0에서 아약스
- 12. 봄 @MVC 및 @RequestParam 검증
- 13. Asp.net의 MVC 3 : 이상한 검증
- 14. MVC 3 체크 박스 검증
- 15. asp.net-MVC 텍스트 상자 검증
- 16. ASP.NET MVC 2 검증 selectList의
- 17. ASP.NET MVC 사용자 정의 검증
- 18. ASP.NET MVC 3 모델 검증
- 19. MVC 3 조건 원격 검증
- 20. MVC 3 눈에 거슬리지 검증 - 조건부 활성화/비활성화 검증
- 21. ASP.NET MVC : 검증 모델은 다음과 같이
- 22. ASP.NET MVC 아이 뷰 모델 검증
- 23. MVC 3 파일 업로드 검증 화재 잘못
- 24. MVC 3 재정의 검증 메시지 CSS를
- 25. MVC 주석 검증 데이터 제거 - 발 속성
- 26. 클라이언트 검증 문제 - MVC 4 RC
- 27. MVC 4 검증 정수 오버 플로우
- 28. 날짜 검증 - STARTDATE는 종료 날짜 MVC
- 29. MVC 2 검증 및 엔티티 프레임 워크
- 30. ASP.NET MVC 2 RC 검증 문제
예, 감사, 맞아. 죄송 해요. – user997379