ServiceStack 4.0.33과 함께 작업하고 있습니다.ServiceStack 사용자 정의
RegisterService() 주변에 사용자 정의 유효성 검사를 추가하는 방법을 정리하려고합니다.
기본적으로 등록을 허용하기 전에 일회용 베타 키를 확인해야합니다. 키가 양호하면 등록 성공 후 키가 소비 된 것으로 플래그됩니다. 사용자 정의 RegistrationValidator를 구현하려고 시도했지만 서비스 스택이 사용하는 기본 레지스터 인 dto는 분명히 유효성을 검사하는 데 적합한 속성을 가지고 있지 않습니다.
DTO 등록을 상속 한 사용자 지정 클래스를 만들려고했지만 등록 서비스 또는 RegistrationValidator가이를 처리하는 방법을 알 수 없습니다.
또한 RegistrationService를 상속하는 클래스를 만들었지 만 재정의 할 클래스는 없습니다.
기본적으로 등록을 위해 제공되는 것으로 보이는 항목은 모두 입니다. Plugins.Add (새 RegistrationFeature());
나는 이것이 잘못된 방향에서 완전히 공격하고 있다고 생각합니다. 등록 메커니즘을 둘러싼 진정한 유연성은 없습니다. 어떤 지침을 사용할 수 있습니다. ,
public class CustomRegistrationValidator : RegistrationValidator
{
public CustomRegistrationValidator()
{
RuleSet(ApplyTo.Post,() =>
{
RuleFor(x => x.UserName).Must(x => false)
.WithMessage("CustomRegistrationValidator is fired");
});
}
}
가 검증을 등록하려면 :