The core process of creating a form in the Yii framework includes four steps: 1. Create a model class, define fields and validation rules; 2. Process the form submission and verification logic in the controller; 3. Render form elements in the view using ActiveForm; 4. Pay attention to CSRF protection, layout and style configuration. The model class sets the required items and data formats through the rules() method. The controller uses load() and validate() to process the submitted data. The view uses ActiveForm to automatically generate input boxes with labels and error prompts, and can customize the layout and styles, thereby achieving a complete form system.
Creating forms in the Yii framework is mainly done through the cooperation of model (Model), view (View) and ActiveForm components. The core process is to define model fields, set validation rules, and then use ActiveForm in the view to generate HTML forms.
1. Create a model class
Forms usually bind a model class, which is responsible for data processing and verification. You can create it manually or automatically generate it with Gii.
// models/ContactForm.php namespace app\models; use Yii; use yii\base\Model; class ContactForm extends Model { public $name; public $email; public $subject; public $body; public function rules() { Return [ [['name', 'email', 'subject', 'body'], 'required'], ['email', 'email'], ]; } }
This defines a simple contact form model, and sets up required items and email format verification.
2. Process the commit logic in the controller
You need to write a controller action to receive form data and process it accordingly:
// controllers/SiteController.php public function actionContact() { $model = new ContactForm(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { // The data is valid, perform subsequent operations, such as sending an email Yii::$app->session->setFlash('success', 'Thanks for your feedback!'); return $this->refresh(); } return $this->render('contact', ['model' => $model]); }
The key point here is that load()
method will fill the POST data into the model attributes, and validate()
will perform verification based on rules.
3. Render the view using ActiveForm
Using ActiveForm
in a view file makes it easy to generate form elements with tags, input boxes, and error prompts:
<?php $form = \yii\widgets\ActiveForm::begin(); ?> <?= $form->field($model, 'name') ?> <?= $form->field($model, 'email') ?> <?= $form->field($model, 'subject') ?> <?= $form->field($model, 'body')->textarea(['rows' => 6]) ?> <div class="form-group"> <?= \yii\helpers\Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?> </div> <?php \yii\widgets\ActiveForm::end(); ?>
-
field()
method will automatically add label and error prompts. - Additional configurations can be added through chain calls, such as textarea to set the number of rows.
4. Frequently Asked Questions and Precautions
- CSRF protection : Yii automatically adds CSRF tokens in ActiveForm by default, no additional processing is required.
- Form layout : The default is vertical layout. If you need horizontal layout, you can pass in
'options' => ['class' => 'form-horizontal']
and match the Bootstrap style. - Custom field styles :
- Class can be explicitly set with
->textInput(['class' => 'form-control'])
. - Or control the appearance through the CSS class name uniformly.
- Class can be explicitly set with
Basically that's it. Yii's ActiveForm is very powerful and well packaged. As long as you are familiar with the process of model controller view, you can quickly build a complete form system.
The above is the detailed content of How do I create forms in Yii?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Yii framework middleware: providing multiple data storage support for applications Introduction Middleware (middleware) is an important concept in the Yii framework, which provides multiple data storage support for applications. Middleware acts like a filter, inserting custom code between an application's requests and responses. Through middleware, we can process, verify, filter requests, and then pass the processed results to the next middleware or final handler. Middleware in the Yii framework is very easy to use

In recent years, with the rapid development of the game industry, more and more players have begun to look for game strategies to help them pass the game. Therefore, creating a game guide website can make it easier for players to obtain game guides, and at the same time, it can also provide players with a better gaming experience. When creating such a website, we can use the Yii framework for development. The Yii framework is a web application development framework based on the PHP programming language. It has the characteristics of high efficiency, security, and strong scalability, and can help us create a game guide more quickly and efficiently.

Yii framework middleware: Add logging and debugging capabilities to applications [Introduction] When developing web applications, we usually need to add some additional features to improve the performance and stability of the application. The Yii framework provides the concept of middleware that enables us to perform some additional tasks before and after the application handles the request. This article will introduce how to use the middleware function of the Yii framework to implement logging and debugging functions. [What is middleware] Middleware refers to the processing of requests and responses before and after the application processes the request.

With the rapid development of web applications, modern web development has become an important skill. Many frameworks and tools are available for developing efficient web applications, among which the Yii framework is a very popular framework. Yii is a high-performance, component-based PHP framework that uses the latest design patterns and technologies, provides powerful tools and components, and is ideal for building complex web applications. In this article, we will discuss how to use Yii framework to build web applications. Install Yii framework first,

Steps to implement web page caching and page chunking using the Yii framework Introduction: During the web development process, in order to improve the performance and user experience of the website, it is often necessary to cache and chunk the page. The Yii framework provides powerful caching and layout functions, which can help developers quickly implement web page caching and page chunking. This article will introduce how to use the Yii framework to implement web page caching and page chunking. 1. Turn on web page caching. In the Yii framework, web page caching can be turned on through the configuration file. Open the main configuration file co

In the Yii framework, controllers play an important role in processing requests. In addition to handling regular page requests, controllers can also be used to handle Ajax requests. This article will introduce how to handle Ajax requests in the Yii framework and provide code examples. In the Yii framework, processing Ajax requests can be carried out through the following steps: The first step is to create a controller (Controller) class. You can inherit the basic controller class yiiwebCo provided by the Yii framework

In modern web application development, debugging tools are indispensable. They help developers find and solve various problems with their applications. As a popular web application framework, the Yii framework naturally provides some debugging tools. This article will focus on the debugging tools in the Yii framework and discuss how they help us analyze and debug applications. GiiGii is a code generator for the Yii framework. It can automatically generate code for Yii applications, such as models, controllers, views, etc. Using Gii,

Encrypting and decrypting sensitive data using Yii framework middleware Introduction: In modern Internet applications, privacy and data security are very important issues. To ensure that users' sensitive data is not accessible to unauthorized visitors, we need to encrypt this data. The Yii framework provides us with a simple and effective way to implement the functions of encrypting and decrypting sensitive data. In this article, we’ll cover how to achieve this using the Yii framework’s middleware. Introduction to Yii framework Yii framework is a high-performance PHP framework.
