2012-06-04 2 views
1

원격 유효성 검사를 사용하는 모델이 있습니다. 이 모델은 또한 하위 클래스에 대한 부모 클래스의 역할을합니다. 특정 필드에 대한보기에서 원격 유효성 검사를 어떻게 비활성화합니까? 모델 코드원격 유효성 검사 사용 안 함

public user 
{ 
    [Remote("Validateemail","User",etc)] 
    public string Email {get; set;} 
} 

public edituser:user 
{ 
    public int userid {get; set;} 

    public edituser(int userid,string email) 
    { 
    userid=userid; 
    Email=email; 
    } 
} 

내 목표는보기에서 edituser 클래스의 제거 검증을 제거하는 것입니다. 그냥 defauflt하여 사용자가 그/그녀의 이메일을 편집 할 수 있기 때문에 editView에서와 같이 전자 메일 필드와 그 안에있는 모든 데이터를 표시 할 필요가 있다고 가정

답변

0

메신저 ..
그래서 이것은 그냥 코드를 변경할 수 있습니다하기 보기에서보기에서 Html.EditorFor() to Html.DisplayFor()

+0

사용자가 이메일 주소를 수정할 수 있도록 허용하고 있습니다. 난 그냥 기본 클래스에 구현 된 원격 유효성 검사를 적용하지 않으려면보기를 강제하고 싶다. – CodeNoob

0

이것은 viewmodel을위한 완벽한 경우입니다. 편집을 위해 다른 뷰 모델을 생성하십시오 (대부분의 경우 문제 영향보기가 도메인 모델에 직접 연결되어서는 안됨). 또는 IValidatableObject 또는 fluentvalidation을 사용하거나 DataAnnotationsModelValidatorProvider를 사용하여 적용되는 경우 속성 조건 기반을 수동으로 첨부 할 수 있습니다. 당신의 경우.

관련 문제