フォームクラスでHTML属性をセットする

PhalconPHPでフォーム部品に属性を追加する方法

PhalconではvalidationをセットするようにHTML属性をセットする

Phalconではフォームクラスを利用してフォームのひな形を定義する。

そして、定義したひな形をコントローラで生成した後、Viewで展開する。各フォーム部品にclass属性を追加する場合は、フォームクラスで

setAttribute

メソッドを利用することで追加することが可能。具体的には以下のように設定する。

class UsersForm extends Form
{
    public function initialize($entity = null, $options = null)
    {
        $name = new Text('name');
        $name->setAttribute('class', 'form-control');
        $this->add($name);
    }
}

上のコードのより出力されるHTMLが下のコードになる。

<input type="text" class="form-control" name="title" id="title">

複数のHTML属性をまとめて設定することも可能で、その場合には

setAttributes

メソッドを利用することができる。

$attributes = array(
	'id' => '11',
	'class' => 'form-control',
	'placeholder' => 'enter name'
);
$name = new Text('name');
$name->setAttributes($attributes);
$this->add($name);

$attributesに配列で属性を定義しておいてsetAttributesの引数に渡せば属性が追加される。出力されるHTMLは以下のようになる。

<input type="text" placeholder="enter text" class="form-control" name="title" id="11">

フォーム部品がtextの場合のメソッド一覧はPhalconの公式ドキュメントで確認することができる。

http://docs.phalconphp.com/en/latest/api/Phalcon_Forms_Element_Text.html

Webエンジニアブログにコメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

フォームクラスでHTML属性をセットするの記事にコメントを投稿