2012-05-02 6 views
1

私のedit.ctpには私が変更する必要のない選択ボックスがあります。だから私はarray(disabled => true)を配置します。しかし、このフィールドは来ていません。無効なフィールドを保存する

pr($ this-> data);保存中にエラーが表示されます。

どのようなオプション

感謝....この問題を解決するためにあります。

+0


echo $this->Form->input('patient_id',array('type'=>'select', 'readonly' => 'readonly'));のような無効なフィールドが掲載されません、あなたは –

答えて

0

あなたはそのため、ユーザはそれを変更したり、必要なデータをポストするためにいくつかの隠しフィールドを使用するカント読み取り専用場を作ることができる、またはあなたは、いくつかのCSSを使用することができ、可視性のような:隠された、ユーザーいけないようにそれを見てもそれは掲示されるでしょう。

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

そのユーザーとして必要としない、ので、あなたは* 強いテキスト *を(入力のためにいくつかの他の名前を使用して、コントローラに確認するか、あなたは完全に視界からselect要素を削除することができことができますが変更する必要がいけませんそれ)

+0

反響this->フォーム - >入力を投稿する渡すための隠しフィールドを使用することができます( 'patient_id'、array( 'type' => 'hidden'));私は上記のようにコード化するときも、patient_idを投稿していません。 – alexkd

+0

申し訳ありません、これは間違っていました。その正しい今 – alexkd

+0

あなたは隠しフィールドを使用する場合、ユーザーはまだ簡単に編集することができます!これを防ぐには、何らかのフォーム改ざん防止機能を使用してください(SecurityComponentを参照)。 – jeremyharris

4

データの値を知っていれば、コントローラで編集することができます。

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

UPDATE

編集それ

+0

読み取り専用として表示されます。しかし、ユーザーはまだオプションから選択することができます。 – alexkd

+0

これは私が探していたものです。情報を表示し、そのまま保存します。ありがとう。 – pctroll

関連する問題