2012-08-09 8 views
0

어제부터이 문제가 있습니다. 내 사용자 모델에서 나는 [NotMapped] "ConfirmPassword"이라고합니다. 데이터베이스에 저장하지 않지만 새 사용자에 대한 데이터 입력의 유효성을 검사하기 위해 항상 내 작성 양식에서 사용합니다.새 개체에만 필요한 ModelValidation ASP.NET MVC

이후로는 괜찮습니다. 문제는 내 [HttpPost] 편집 작업에 있습니다. 내가 입력하지 않고 일부 사용자의 데이터를 편집하고 암호를 확인할 수 있어야합니다. 암호를 변경하려면 이전 암호를 확인하고 새 암호를 알리는 방법으로 암호와 ConfirmPassword를 모두 사용합니다. 그러나, 만약에, 나는 그들을 비워 둡니다.

나는 아래의 코드가 ModelState.IsValid() 조건을 통과 할 수 있도록 이미 사용하고 그 일 : 사용자 사용자보기 모델로, 단지 db.SaveChanges()하기 전에,

ModelState["Password"].Errors.Clear(); 
ModelState["ConfirmPassword"].Errors.Clear(); 

을하지만, 고려, 비어 두 속성을 가지고 있는데 가지고 :

Property: ConfirmPassword Error: The field ConfirmPassword is invalid. 

질문은 : 나는 개체를 업데이트 할 때이 필수 모델 검증 드 건너 뛸 수 있습니까?

나는 수업 DataAnnotationsModelValidatorValidationAttribute을 확장하여 사용자 정의 ModelValidations에 대해 이미 읽은하지만 난 바로 그 일을하고 있지 않다.

아이디어가 있으십니까? UserId 속성이 null인지 아닌지 확인하는 사용자 지정 모델 유효성 검사를 어떻게 만들 수 있습니까? 내가 Create 또는 Edit 액션에 있는지 확인하는 좋은 방법입니다.

감사합니다, 당신의 ViewModel의 뜻이 적은 확장 성 조건을 인도로 도메인 객체를 사용 파울로

답변