ModelState 유효성 검사 수동 호출
ASP.NET MVC 3 코드 우선을 사용하고 언어 모델에 유효성 검사 데이터 주석을 추가했습니다. 다음은 모델의 예입니다.
public class Product
{
public int ProductId { get; set; }
[Required(ErrorMessage = "Please enter a name")]
public string Name { get; set; }
[Required(ErrorMessage = "Please enter a description")]
[DataType(DataType.MultilineText)]
public string Description { get; set; }
[Required(ErrorMessage = "Please provide a logo")]
public string Logo { get; set; }
}
내 웹 사이트에는 새 제품을 만드는 다단계 프로세스가 있습니다. 1 단계는 제품 세부 정보, 2 단계 기타 정보 등을 입력합니다. 각 단계 사이에 각 개체 (예 : 제품 개체)를 세션에 저장 사용자는 프로세스의 해당 단계로 돌아가 입력 한 데이터를 단계 수 있습니다.
각 화면에는 새로운 jQuery 유효성 검사와 함께 작동하는 클라이언트 측 유효성 검사가 있습니다.
마지막 단계는 제품이 데이터베이스에 생성되는 확인 화면입니다. 그러나 사용자가 단계 사이에 있는지 확인하기 때문에 데이터를 완료했는지 확인하기 위해 개체 (제품 및 기타)의 유효성을 검사해야합니다.
데이터 주석이있는 개체에 대해 ModelState 유효성 검사를 프로그래밍 방식으로 호출하는 방법이 있습니까? 개체의 각 속성을 살펴보고 수동 유효성 검사를 수행 할 필요가 없습니다.
ASP.NET MVC 3의 모델 유효성 검사 기능을 더 쉽게 사용할 수있는 경우이 프로세스를 개선하는 방법에 대한 제안이 열려 있습니다.
액션 ValidateModel
내 에서 메서드 를 호출 할 수 있습니다 Controller
( 문서는 여기 ).
ValidateModel
또는 TryValidateModel
컨트롤러 범위에서 사용할 수 있습니다 .
모델의 유효성을 검사 할 때 하나 이상의 양식 입력이 모델 속성에 바인딩 된 경우 모든 속성에 대한 모든 유효성 검사기가 실행됩니다. ValidateModel은 모델 유효성 검사가 실패 할 경우 TryValidateModel 메서드가 InvalidOperationException 예외를 throw하지 않는다는 점을 제외하면 TryValidateModel 메서드와 처리합니다.
ValidateModel- 모델이 유효하지 않은 경우 예외를 수정했습니다.
TryValidateModel- 모델이 유효한지 부울 값을 반환합니다.
모델 목록을 하나씩 유효성을 검사하는 경우를 호출하여 각 반복에 대해 ModelState를 사용할 수 ModelState.Clear()
있습니다.
나는 이것이 작동하고 예상대로 정확하게 수행하는 것을 발견했습니다. .. POST 전에 GET 작업 메소드에서 새로 검색된 개체에 대한 ValidationSummary를 표시합니다.
Me.TryValidateModel(MyCompany.OrderModel)
참조 URL : https://stackoverflow.com/questions/6360087/manually-invoking-modelstate-validation
'ProgramingTip' 카테고리의 다른 글
VBA 언어로 "값이 비어 있지 않은 경우"를 어떻게 표현합니까? (0) | 2020.12.15 |
---|---|
간단한 Java 이름 기반 잠금? (0) | 2020.12.15 |
/ WEB-INF에 넣어야하는 XHTML 파일과 않은 파일은 무엇입니까? (0) | 2020.12.15 |
클래스에 __getitem__을 정의하면 반복 할 수있는 이유는 무엇입니까? (0) | 2020.12.14 |
MySQL-LIMIT가있는 UPDATE 쿼리 (0) | 2020.12.14 |