2012-04-18 5 views
4

AJAX 호출을 사용하여 일부 JSON 데이터를 가져 와서 HTML 양식을 생성하므로 어떤 입력 필드를 가져올 지 미리 알지 못합니다. 즉시 유효성 검사 규칙을 정의 할 수 있습니까? 의사 모델을 정의하는 데 아마도 ActiveAttr을 사용할 것입니다. 그러나 일단 데이터를 받으면 유효성 검사를 중단하고 싶습니다.동적으로 생성 된 양식의 레일 유효성 검사

그래서 ... 어떤 아이디어입니까?

+0

freenode의'# rubyonrails' 대화방에있는 사용자 'epochwolf'가 ActiveModel을 사용하도록 제안했습니다. http://www.rubyinside.com/rails-3-0s-activemodel-how-to-give-ruby-classes-some-activerecord-magic-2937.html – aL3xa

+1

알 수없는 필드도 있습니까?) 아니면 고정 된 테이블이 있습니까? 아마도 : if => 옵션을 사용하여 특정 유효성 검사 규칙을 제외시킬 수 있습니까? – Roger

+0

al.3xa, 어떻게 해결 했습니까? – aaandre

답변

0

ActiveModel의 조합과 사용자 지정 유효성 검사 방법 또는 클래스 중 하나를 사용해야합니다. 클래스가 선언 될 때 필드를 알지 못하기 때문에 표준 유효성 검사 선언을 사용할 수 없습니다 (AFAIK).

1

ClassName.class_eval %Q[validates :#{name}, length: {minimum: 5}]을 사용하여 유효성 검사를 동적으로 추가 할 수 있습니다. 물론 name 변수에 setter 및 getter를 추가해야합니다. class_eval은 문자열을 사용하므로 무한한 가능성이 있습니다.

관련 문제