2009-10-13 4 views
0

고급 유효성 검사 방법을 수행하는 동안 $ this-> data 특성을 조작하려고합니다. 데이터가 변경된 것 같지만 저장과 관련하여 변경 사항이 적용되지 않습니다.CakePHP - 유효성 검사 프로세스에서 데이터 특성 조작

내 질문 : 유효성 검사 방법을 수행하는 동안 $ this-> data를 편집 할 수 있습니까? 당신이 아직 일을하지 않는 경우

안부, 베네딕트

답변

2

CakePHP의 대부분의 객체에는 model, view 및 controller 객체를 포함하는 data 속성이 있습니다. 보기에서 양식을 제출하면 제출 된 데이터가 컨트롤러 작업의 $ this-> 데이터에서 사용할 수 있음을 의미합니다. 컨트롤러 액션에서 $ this-> Model-> save ($ this-> data)를 호출하면 CakePHP는 여기에 전달 된 데이터를 모델의 데이터 속성에 복사 한 다음 해당 배열에서 유효성 검사를 수행합니다. 이 작업을 수행하는 경우이 모델의 유효성 검사 규칙은 모델의 데이터 속성에 영향을 줄 수 있어야합니다. 이 설명이 문제를 파악하는 데 도움이되지 않는다면, 더 많은 정보를 게시하여 귀하가하려는 일을 더 잘 이해할 수 있도록하십시오.

+0

고맙습니다. 현재 개인 메시지를 제공하는 컨트롤러를 구축 중입니다. 이 서비스는 사용자가받는 사람 목록에 메시지를 보낼 수 있도록해야합니다. 주어진 사용자가 존재하는지 확인하고 싶습니다. 유효성 검사 및 저장이 작동하고 데이터를 올바르게 구문 분석하고 있습니다. 그러나 일부 데이터를보기에 전달할 수 있습니까? 나는 어떤 사용자가 존재하지 않는지 사용자에게 알리고 싶습니다. – Benedikt

+0

따라서 "To"가 존재하는지 여부를 확인하는 모델 유효성 검사 규칙은 배열에없는 항목을 nonExistentUsers라는 모델의 속성에 추가해야합니다. 그런 다음 컨트롤러로 돌아와서 유효성 검사가 끝나면 $ this-> YourModelName-> nonExistentUsers가 비어 있는지 테스트하고, 그렇지 않은 경우보기에서 사용할 수 있도록 설정 한 다음 반복하여 확인할 수 있습니다. "To"는 존재하지 않습니다. – neilcrookes

0

당신은

$this->YourModel->create() 

해야 할 수도 있습니다.

+0

예 : $ this-> data [ 'User'] = $ Users; 간단한 조작 만 가능합니다. – Benedikt

관련 문제