2010-12-12 6 views
0

Hanselman/Guthrie가 저술 한 Professional MVC에서 헬퍼 메서드 및 데이터 주석을 사용하여 양식 유효성을 검사하는 방법을 보여줍니다. 이 방법은 작동하지만 많은 상용구 코드가 필요합니다.MVC3을 사용하여 양식을 확인 하시겠습니까?

일부 내장 된 배관을 사용하여 입력을 검증하는 새롭고/쉬운 방법이 있습니까?

저는 Entity Framework에서 저장소 패턴을 사용하고 있습니다.

감사합니다.

+4

상용구 코드 란 무엇입니까? 나는 데이터 주석 접근법이 매우 간결하다고 생각한다. 구체적으로 EmailAddress, StrongPassword 등 자신 만의 파생 된 구현을 사용한다. –

+0

@ The Flower Guy 여기에 동의한다. _boilerplate code_가 무엇을 의미합니까? 두 번째로 DataAnnotations를 사용하는 것이 MVC와 함께하는 가장 좋은 방법입니다. 특히 내 블로그에이 예제 (http://rlm.cc/hnRC0K)와 같은 구현을 직접 작성할 수 있다면 더욱 좋습니다. – PsychoCoder

+0

ViewModels를 사용하여 조회 및 데이터 주석을 사용합니다. 그럴 경우 귀찮은 경우 모델에 직접 주석을 달지 않아도됩니다. 나는 또한 이것에 FlowerGuy 동의합니다. – ElvisLives

답변

0

다른 사람들이 주석에서 언급 한 것처럼 데이터 주석을 사용하는 것이 유효성 검사를 수행하는 새롭고 쉬운 방법입니다. 데이터 주석 사용에 대한 좋은 점은 언제 어디서나 응용 프로그램의 모델을 확인할 수 있다는 것입니다. 나는 일반적으로 설치로 할 수있는 일반 서비스는 다음과 같습니다

다음
public class ValidationService<T> : IValidationService<T> 
{ 
    public List<ValidationResult> Validate(T obj) 
    { 
     var results = new List<ValidationResult>(); 
     Validator.TryValidateObject(
      obj, 
      new ValidationContext(obj, null, null), 
      results, 
      true); 
     return results; 
    } 
} 

이 모델의 유효성을 검사 : 당신의 코드 같은 작은 금액에 대해 얼마나 많은 기능을 고려

var service = new ValidationsService<MyClass>(); 
var errors = service.Validate(myobject); 

를, 데이터 주석 꽤 강력하다 특히 자신의 유효성 검증 속성을 작성하는 것이 얼마나 쉬운지를 고려할 때 특히 그렇습니다. 당신은 내가보기 엔 내가 DataAnnotation 큰 것을 모두 동의

souceforge에서 AutoMapper을 사용하여 권 해드립니다 ViewModels를 사용하려는 경우

0

- jQuery를 통합 할 수있는 능력은 한 줄을 작성하지 않고도 클라이언트 측 유효성 검사를 제공합니다 jQuery가 두 번째로 나에게 그것을 팔았다.

관련 문제