2017-12-21 19 views
0

입력을 검증하기 위해 개혁 보석을 사용하고자합니다. 우리는 우리가의 내용을 확인하려면 어떻게 개혁 클래스선구자 개혁 보석, 입력 유효성 검사 의이 유형을 처리하는 방법?

class RecordForm < Reform::Form 
    property :records 
    validates :records, presence: true 

    # ????????? 
end 

을 만들 수 있다면 그렇게

params = { 
    records: { 
    "record-id-23423424": { 
     name:  'Joe Smith' 
    } 
    "record-id-43234233": { 
     name:  'Jane Doe' 
    } 
    "record-id-345234555": { 
     name:  'Fox trot' 
    } 
    "record-id-34234234": { 
     name:  'Alex' 
    } 
    } 
} 

: 우리가 직면하고있는 문제의

하나는 우리가이 형식으로 입력을받을 것입니다 각자 이름이 있는지 확인하기위한 기록? record-id-values는 미리 알 수 없습니다.

+1

현재 스키마가 계속 붙어 있습니까? 스키마가'{records : [{id : "record-id-23423424", name : 'Joe Smith'}와 같은 형태라면 유효성 검사를 만드는 것이 더 쉽습니다. –

답변

0

개혁은 현재 동적 속성을 허용하지 않으며 실제로는 개혁이 UI 관련 양식 객체로 간주되기 때문에 계획되지 않았습니다.

해결 방법은 입력 내용을 미리 구문 분석하여 what Laura suggests으로 만드는 것입니다. 그런 다음 각 필드에 대해 중첩 된 속성을 가질 수 있습니다.

collection :records do 
    property :id # manually parsed 
    property :name 
end