コンボボックスセレクターに「Choose One」オプションを追加して、CakePHPで検証するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/205907

  •  03-07-2019
  •  | 
  •  

質問

私はCake PHPの初心者です。

テーブル「Issue」を編集したい。このテーブルには、フィールド「priority_id」が含まれています。 " Priority"と呼ばれる別のテーブルに関連する外部キーによって。このテーブルには、「重大」、「災害」、「ToDo」の3つの値が含まれています。ユーザーはコンボボックス(入力選択)を使用して優先順位を選択できます。

優先度は次のようにロードされます:

$priorities = $this->Issue->Priority->find('list');

これは私には有効です。

「選択」という4番目のオプションをコンボボックスに追加する必要があります。この値はデフォルト値になります。この値が選択されている場合、ユーザーはフォームを送信できません。動機は、最初の値をランダムに送信するのではなく、意味のある値の1つをユーザーに選択させることです。

1)配列$ prioritiesを埋めるにはどうすればよいですか? 2)フォームを検証するにはどうすればよいですか

ありがとう

役に立ちましたか?

解決

issues / add.ctpおよびissues / edit.ctpビューで、2番目のパラメーターとして$ form-> input()メソッドに送信されるオプション配列に空のキーを追加します。例:

echo $form->input('priority_id', array('empty' => 'Choose'));

これにより、コンボボックスの上部に「選択」というテキストのオプションが追加され、オプションの値は空の文字列になります。

Issueモデルでは、priority_idフィールドの検証を追加できます。例:

var $validate = array(
  'priority_id' => array('numeric')
);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top