2012-05-02 2 views
1

내 edit.ctp에 사용자를 변경할 필요가없는 선택 상자가 있습니다. 그래서 배열을 넣습니다 (disabled => true). 그러나이 분야가 오지 않을 때비활성화 된 필드 저장하기

pr ($ this-> data); 저장하는 동안 오류가 표시됩니다. 옵션이 문제가 해결하기 위해 무엇

....

감사합니다.

+0

장애인 필드와 같은

$this->request->data['ModelName']['fieldName'] = value;

UPDATE

편집 그것은 당신이 –

답변

0

당신은 은 읽기 전용 그래서 그 사용자가 원하는 데이터를 게시하는 변경, 또는 숨겨진 필드를 사용하지 못할 필드를 만들 수있는, 또는 당신은 가시성과 같은 일부 CSS를 사용할 수 있습니다 : 해당 사용자 해달라고, 그래서 숨겨진 그것을 볼 수 있지만 게시됩니다.

echo this->Form->input('patient_id',array('type'=>'hidden')); 

당신은 입력에 대한 몇 가지 다른 이름을 사용하고 컨트롤러에서 확인하거나 완전히 뷰 * 강력한 텍스트에서 선택 요소를 제거 할 수 있습니다 * 자사가 사용자로 필요하지, 이후 (변경할 필요가없는 그것)

+0

에코 this-> 서식 -> 입력을 게시 전달하는 숨겨진 필드를 사용할 수, 게시되지 않습니다 ('patient_id', array ('type'=> 'hidden')); echo $ this-> Form-> input ('patient_id', array ('disabled'=> 'true')); 위 코드와 마찬가지로 patient_id도 게시하지 않습니다. – alexkd

+0

죄송합니다, 이것은 잘못된 내용입니다. 지금 올바른가 – alexkd

+0

숨겨진 필드를 사용하면 사용자가 쉽게 편집 할 수 있습니다! 이를 방지하기 위해 일종의 양식 조작 변조를 사용해야합니다 (SecurityComponent 참조). – jeremyharris

4

데이터의 가치를 아는 경우 컨트롤러에서 편집 할 수 있습니다.
echo $this->Form->input('patient_id',array('type'=>'select', 'readonly' => 'readonly'));

+0

읽기 전용으로 표시됩니다. 그러나 사용자는 여전히 옵션에서 선택할 수 있습니다. – alexkd

+0

이것은 내가 찾고 있었던 것이다. 정보를 보여주고 그대로 저장하기. 감사. – pctroll

관련 문제