Phalcon-working-with-forms

提供:Dev Guides
移動先:案内検索

Phalcon-フォームの使用

フォームはすべてのWebアプリケーションで使用され、リクエストとしてユーザーからの入力を受け入れます。 データは入力として受け入れられ、操作されてデータベースに保存されるか、その他の操作が実行されます。

Phalconには Phalcon \ Forms という名前のコンポーネントが含まれており、フォームの作成とメンテナンスに役立ちます。

前の章で作成したブログチュートリアルの例を考えてみましょう。 新しいカテゴリを作成するために使用されるフォームが含まれています。

<?php echo \Phalcon\Tag::form(array("categories/create", "autocomplete" => "off")) ?>
   <table width = "100%">
      <tr>
         <td align = "left">
            <?php echo \Phalcon\Tag::linkTo(array("categories", "Go Back", "class" => "btn")) ?>
         </td>
         <td align = "right"><
            ?php echo \Phalcon\Tag::submitButton(array("Save", "class" => "btn")) ?>
         </td>
      <tr>
   </table>

   <?php echo $this->getContent(); ?>

   <div align = "center">
      <h1>Create categories</h1>
   </div>
   <table align = "center">
      <tr>
         <td align = "right">
            <label for = "name">Name</label>
         </td>
         <td align = "left">
            <?php echo \Phalcon\Tag::textField(array("name", "size" => 30)) ?>
         </td>
      </tr>

      <tr>
         <td align = "right">
            <label for = "slug">Slug</label>
         </td>
         <td align = "left">
            <?php echo \Phalcon\Tag::textField(array("slug", "size" => 30)) ?>
         </td>
      </tr>
   </table>
</form>

出力-次の出力を生成します。

カテゴリの作成

フォームの入力フィールドは、 Phalcon/tag コンポーネントを使用してレンダリングされます。 フォームの各要素は、開発者の要件に従ってレンダリングできます。

値をレンダリングするための構文は次のとおりです。

echo $form->render(element-name)

検証-

コントローラーで値がレンダリングされると、モデルの助けを借りて値がデータベースに入力されます。 Phalconフォームは検証コンポーネントと統合されており、即時検証を提供します。 組み込みまたはカスタムのバリデーターを各要素に設定できます。

<?php
use Phalcon\Forms\Element\Text;
use Phalcon\Validation\Validator\PresenceOf;
use Phalcon\Validation\Validator\StringLength;

$name = new Text(
   "Name"
);

$name->addValidator(
   new PresenceOf([ "message" => "name is required", ])
);

$form->add($name);

出力-次の出力を生成します。

次の出力