2013-08-15 2 views
2

사용자 정의 유효성 검사기에서 표준 레일 검사기를 호출하는 방법이 있습니까?레일 : 사용자 정의 유효성 검사기에서 표준 유효성 검사 호출

나는 OAuth/전자 메일 가입/로그인을 조합하여 각 인증 방법에서 특정 유효성 검사기를 호출 할 수 있기를 원합니다. 예를 들어, 사용자가 이메일을 통해 가입 한 다음 단일 유효성 검사기 (예 : validates_with UserValidator)를 호출하는 경우 validates_uniqueness_of :email으로 전화를 걸 수 있습니다.

이렇게 할 방법이 없다면 상태 추적과 일련의 :if 유효성 검사를 사용할 것입니다.

답변

1

다른 유효성 검사기를 사용자 지정 호출기에서 호출 할 수있는 방법이 없다고 생각합니다.이 또한 위험성이있는 순환 종속성을 유발할 수 있습니다.

당신은 당신이 (레일 가이드에서 촬영)이 같은 범위를

with_options if: :is_admin? do |admin| 
    admin.validates :password, length: { minimum: 10 } 
    admin.validates :email, presence: true 
end 
할 수있는 조건 검증과 함께 할 것입니다,하지만 명심해야
관련 문제