2014-03-26 2 views
0

UI에서 업데이트 된 도메인 클래스가 있습니다. 사용자가 필요한 모든 정보를 채우고 모든 것이 잘 수행되도록하는 것은 몇 가지 제약 사항이었습니다.제약 조건을 선택적으로 해제 할 수 있습니까?

그러나 도메인을 업데이트하는 일부 석영 작업도 있으며 모든 제약 조건을 반드시 준수 할 필요는 없습니다. 나는 특정 것들을 무시하고 싶습니다. 그래서 save()이 작동합니다.

나는이 일을 생각할 수있는 몇 가지 방법이 있습니다 :

  • 에만 적용되는 제약 조건을 제거 (내가 원하는 정확히 무엇을) 모든 제약 조건을 무시하고 그 다음

    • 사용 save(validate: false)을하지만 컨트롤러에서 데이터가 유효한지 수동으로 확인하십시오.
    • 일시적인 속성 값이 saveFromUI 인 경우에만 적용되는 유효성 검사기에 이러한 제약 조건을 적용하십시오 (save() 전에 컨트롤러에서이 일시적 속성을 설정하십시오)

    이러한 것들은 모두 해킹으로 보입니다. 다른 (더 나은) 방법?

  • 답변

    2

    명령 객체를 사용할 필요가있는 것 같습니다.

    그러나 업데이트 할 때 확인할 속성을 항상 지정할 수 있습니다. 이렇게 :

    myDomainInstance.validate(['prop1', 'prop2']) 
    ... 
    myDomainInstance.save(validate: false) // since you already have done so manually prior to this. 
    

    validation에 대한 자세한 내용은 설명서를 참조하십시오.

    관련 문제