2011-11-14 25 views
0

私はいくつかの私のフォームで特別なシナリオに直面しています。 私は、多くのフィールドが必要ないくつかのフィールドで許可システムを解決しました。 フォームのフィールドを表示する権限を削除すると、次のように設定されます。隠された要素を隠す:htmlの値を隠す

$ field-> setDecorators( 'disableLoadDefaultDecorators'、true);

この場合の問題は、論理的な必須フィールドに対して検証エラーが表示されることです。

もう1つのオプションは、$フィールドを非表示に設定することですが、誰かが隠れた値をソースコードで取得できるhtmlの問題に変わります。

フォームとメタデータから要素を非表示にする方法を提案してもらえますが、表示されたかのようにフォーム検証に返すことをお勧めします。

ありがとうございます!

答えて

0

変更フィールド検証ルール、それが必要とされないように:

$field->setRequired(false)->setDecorators('disableLoadDefaultDecorators', true); 
+0

のNop!必要なフィールドがdb内でnotnullであり、制約ルールを持っているため、空で戻すことはできません。私が本当に必要とするのは、価値を返す方法でフィールドを無効にする一種のデコレータです。 – Bdd

+0

次に、それをhiddenに変更する必要があります。 (Btwでは、隠されたデータを絶対に信用すべきではありません。誰かが未処理の投稿データを送信していないことを確認するために、すべてのチェックをサーバー側に行わなければなりません) – mobius