2013-05-28 2 views
1

의 속성 :검증 나는 내 자신의 속성은 ASP.NET MVC에서 모델을 검증하기 위해 쓰기 컨트롤러

public class ValidateImage : RequiredAttribute, IClientValidatable 
{ 
    public override bool IsValid(object value) 
    { 
     // validate object 
    } 
} 

을하고 나는 그런 속성이 방법 사용 : 나는 그것을 만들고 싶어 지금

public class MyModel 
{ 
    [ValidateImage] 
    public HttpPostedFileBase file { get; set; } 
} 

을 컨트롤러에서 일을하고 내가 대신 모델을, 속성이 속성을 추가 :

public ActionResult EmployeePhoto(string id, [ValidateImage] HttpPostedFileBase file) 
{ 
    if(ModelState.IsValid) 
    { 
    } 
} 

하지만 내 속성은 북동입니다 ver 실행. 모델을 사용하지 않고 컨트롤러에서 유효성 검사 작업을 수행하려면 어떻게해야합니까?

답변

2

이것은 지원되지 않습니다. 다음과 같을 수

public ActionResult EmployeePhoto(EmployeePhotoViewModel model) 
{ 
    if (ModelState.IsValid) 
    { 
    } 
} 

: : 그냥 작업의 모든 인수를 래핑하는 뷰 모델을 쓰기

public class EmployeePhotoViewModel 
{ 
    public string Id { get; set; } 

    [ValidateImage] 
    public HttpPostedFileBase File { get; set; } 
}