2013-03-18 2 views
2

서버가 엔터티 메타 데이터에 추가 정보를 반환하도록 Breeze를 확장하거나 구성하는 방법을 아는 사람이 있습니까? 유효성 확인을 돕기 위해이 추가 데이터를 사용하고 싶습니다. 이 밖에 지원 서버에서받은 Breeze 메타 데이터를 확장 할 수 있습니까?

public class Person {  
    [RegularExpression(@"^$|^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?", 
     ErrorMessage="The Website address does not appear to be valid.")] 
    public string Website { get; set; } 

    [Required(ErrorMessage="The Name field is required."), 
     MaxLength(150, ErrorMessage = "The Name field cannot exceed 150 characters."), 
     MinLength(5, ErrorMessage = "The Name field must be at least 5 characters.")] 
    public string Name { get; set; } 
    //... 
} 

지금, 브리즈는이 모든 이후는 수신 메타 데이터를 기반으로 최대 길이 및 필수 검사기를 사귀는 :

적용 내가 지금 어떤 데이터 주석과 같은 엔티티 모델을 가지고 가정 상자의. Breeze가 서버 엔터티의 Data Annotation Attributes에 설명 된 정보를 메타 데이터에 포함 할 수 있다면 Breeze가 클라이언트 EntityType에 추가 유효성 검사기를 자동으로 추가 할 수 있다고 생각합니다 (예 : RegEx, Range, MinLength, 등 ...). 이는 대부분의 기본 유효성 검사 사용 사례를 포함합니다. 또는 개발자가 메타 데이터를 검사하고 우리 자신의 사용자 정의 RegEx 유효성 검사기를 연결하는 데 사용할 수있는 regEx 문자열과 같은 유용한 정보를 추출 할 수도 있습니다.

또한 Breeze에 ErrorMessage 유효성 검사 속성 값을 메타 데이터에 포함시킨 다음 breeze 클라이언트가 기본 required 및 maxLength messageTemplates 대신 해당 값을 사용하도록 할 수 있습니까? 이는 오류 메시지를 서버의 한 위치에서만 정의하면 각 엔티티에 맞게 오류 메시지를 사용자 정의 할 필요가 없다는 것을 의미합니다.

Breeze에서 자동으로 처리 할 수있는 기본 유효성 검사와 같은 것으로 사용자 정의 유효성 검사기를 만들고 등록하는 것을 피하기 위해 노력하고 있습니다.

감사합니다, 리처드

답변

0

그것은 좋은 질문이다.

아직 서버에서 메타 데이터를 직렬화하는 방법에 대해 문서화하는 작업은 아직 완료되지 않았습니다.하지만이 작업은 "곧 시행 될 것입니다". 그러나 와이어를 통해 오는 json을 살펴보면 유효성 검사기가 이름으로 간단히 나열된다는 것을 알 수 있습니다. 이 이름은 클라이언트의 등록 된 유효성 검사기 (또는 유효성 검사기 팩토리) 중에서 조회 된 다음 클라이언트 측 메타 데이터에 추가됩니다. 따라서 클라이언트에 고유 한 이름으로 유효성 검사기 "구현"을 등록한 다음 서버에서 메타 데이터를 전송할 때 서버가이 이름을 참조하도록해야합니다.

클라이언트에게 보낼 서버 측 메타 데이터를 만드는 방법을 문서화 한 후 1 주일 후에 더 명확 해지기를 바랍니다.

+0

포인터 주셔서 감사합니다. 오늘 밤에 다시 한번 살펴 보겠습니다. 문서 업데이트에서 클라이언트 유효성 검사기 구현을 자동으로 연결하는 데 사용할 수있는 추가 속성 (오류 메시지, regEx 패턴, minLength 등)을 추가하기 위해 메타 데이터를 사용자 지정하는 방법에 대해 설명하는 것이 좋을 것입니다. 그동안 doc 업데이트를 기다리겠습니다. – RWHepburn

0

흠, 1 년이 지났습니다. 이 주제에 관한 뉴스? 나는 RWHepburn이 서버 쪽에서 모든 유효성 검사 규칙을 정의하고 클라이언트 쪽에서 사용할 수있는 것이 완벽 할 것이라고 전적으로 동의합니다. 이것은 EF의 데이터 주석을위한 것입니다 - 더 쉽게 만들 수 있습니다!

관련 문제