


Yii framework form model and validation usage, yii framework form model_PHP tutorial
Jul 12, 2016 am 08:50 AMYii framework form model and verification usage, yii framework form model
This article describes the Yii framework form model and verification usage with examples. Share it with everyone for your reference, the details are as follows:
Most of the form model CFormModel inherits CModelCModel. Since the table model data does not need to be persisted, it is mainly used for verification operations. The following uses the website login generated by the framework scaffolding as an example to illustrate the form model.
//模型中的驗(yàn)證規(guī)則 public function rules() { return array( array('username, password', 'required'), array('rememberMe', 'boolean'), array('password', 'authenticate'), ); }
$model=new LoginForm;//創(chuàng)建一個(gè)登錄表單模型 $model->attributes=$_POST['LoginForm'];//傳入登錄數(shù)據(jù) CModel->setAttributes($values,$safeOnly=true)//調(diào)用CModel的setter方法 //返回model中relues中定義的安全數(shù)據(jù),經(jīng)過(guò)下面的調(diào)用流程獲取一個(gè)驗(yàn)證器集合 //每個(gè)驗(yàn)證器由CValidator::createValidator($rule[1],$this,$rule[0],array_slice($rule,2)) CModel->getValidators() ->createValidators() ->rules() CModel->validate();//遍歷驗(yàn)證器執(zhí)行驗(yàn)證
Verifier internal implementation
The core part of the form model is verification, and its implementation will be discussed below.
Validation in the YII framework exists in the form of a collection of independent components, and CValidator is the base class of all validators. Let’s take login verification as an example. The rules method contains three validators: required, boolean, and authenticate
public static function createValidator($name,$object,$attributes,$params=array()) { if(is_string($attributes)) $attributes=preg_split('/[\s,]+/',$attributes,-1,PREG_SPLIT_NO_EMPTY); if(isset($params['on'])) { if(is_array($params['on'])) $on=$params['on']; else $on=preg_split('/[\s,]+/',$params['on'],-1,PREG_SPLIT_NO_EMPTY); } else $on=array(); if(method_exists($object,$name)) { $validator=new CInlineValidator; $validator->attributes=$attributes; $validator->method=$name; if(isset($params['clientValidate'])) { $validator->clientValidate=$params['clientValidate']; unset($params['clientValidate']); } $validator->params=$params; if(isset($params['skipOnError'])) $validator->skipOnError=$params['skipOnError']; } else { $params['attributes']=$attributes; if(isset(self::$builtInValidators[$name])) $className=Yii::import(self::$builtInValidators[$name],true); else $className=Yii::import($name,true); $validator=new $className; foreach($params as $name=>$value) $validator->$name=$value; } $validator->on=empty($on) ? array() : array_combine($on,$on); return $validator; }
Create validator process
1. Get attributes (array $attributes) and usage scenarios (array $on)
2. Determine whether the validator exists in the model. If it exists, create an inline validator CInlineValidator. If it does not exist, perform step 3
3. If the validator is the one that comes with the framework, import the built-in validator. Otherwise, import the external validator, then instantiate and assign a value.
When validate() is triggered, possible errors will be stored in the model. These error information can be extracted by calling CModel::getErrors() and CModel::getError()
PS:The editor here recommends a PHP formatting and beautifying typesetting tool on this website to help you code typesetting in future PHP programming:
PHP code online formatting and beautification tool: http://tools.jb51.net/code/phpformat
Readers who are interested in more Yii-related content can check out the special topics on this site: "Introduction to Yii Framework and Summary of Common Techniques", "Summary of Excellent PHP Development Framework", "Basic Tutorial for Getting Started with Smarty Templates", "php Date and Time" Usage Summary", "php object-oriented programming introductory tutorial", "php string (string) usage summary", "php mysql database operation introductory tutorial" and "php common database operation skills summary"
I hope this article will be helpful to everyone’s PHP program design based on the Yii framework.

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

1. After opening WeChat, click the search icon, enter WeChat team, and click the service below to enter. 2. After entering, click the self-service tool option in the lower left corner. 3. After clicking, in the options above, click the option of unblocking/appealing for auxiliary verification.

We usually receive PDF files from the government or other agencies, some with digital signatures. After verifying the signature, we see the SignatureValid message and a green check mark. If the signature is not verified, the validity is unknown. Verifying signatures is important, let’s see how to do it in PDF. How to Verify Signatures in PDF Verifying signatures in PDF format makes it more trustworthy and the document more likely to be accepted. You can verify signatures in PDF documents in the following ways. Open the PDF in Adobe Reader Right-click the signature and select Show Signature Properties Click the Show Signer Certificate button Add the signature to the Trusted Certificates list from the Trust tab Click Verify Signature to complete the verification Let

Indian Financial System Code is the abbreviation. Indian bank branches participating in the electronic funds transfer system are identified by a special 11-character code. The Reserve Bank of India uses this code in internet transactions to transfer funds between banks. IFSC code is divided into two parts. Banks are identified by the first four characters, while branches are identified by the last six characters. NEFT (National Electronic Funds Transfer), RTGS (Real Time Gross Settlement) and IMPS (Immediate Payment Service) are some of the electronic transactions that require IFSC codes. Method Some common ways to validate IFSC codes using regular expressions are: Check if the length is correct. Check the first four characters. Checkthefifthcharacter.Che

Steam is a platform used by game enthusiasts. You can buy and purchase many games here. However, recently many users have been stuck in the mobile token verification interface when logging into Steam and cannot log in successfully. Faced with this Most users don't know how to solve this situation. It doesn't matter. Today's software tutorial is here to answer the questions for users. Friends in need can check out the operation methods. Steam mobile token error? Solution 1: For software problems, first find the steam software settings on the mobile phone, request assistance page, and confirm that the network using the device is running normally, click OK again, click Send SMS, you can receive the verification code on the mobile phone page, and you are done. Verify, resolve when processing a request

PHP8 is the latest version of PHP, bringing more convenience and functionality to programmers. This version has a special focus on security and performance, and one of the noteworthy new features is the addition of verification and signing capabilities. In this article, we'll take a closer look at these new features and their uses. Verification and signing are very important security concepts in computer science. They are often used to ensure that the data transmitted is complete and authentic. Verification and signatures become even more important when dealing with online transactions and sensitive information because if someone is able to tamper with the data, it could potentially

In Laravel, routes are defined in the paths/ folder. Routes are defined in the web.php file. This file is created after laravel installation is complete. Laravel routes accept URIs and closure functions as follows - useIlluminate\Support\Facades\Route;Route::get('/student',function(){return'HelloStudent';}); in web/routes.php Defined routes are assigned to web middleware groups, and they have session state and CSRF protection. You can also call the controller in the route like below

Is Copilot the best AI companion out there? Help us find out by answering a few quick questions! Microsoft Edge Canary for Android adds a new security option called "Always verify when using Autofill." This option will require users to authenticate themselves before automatically filling in payment information. In my opinion, this seems to be a valuable addition to the browser, as it will help protect users from unauthorized access to their stored payment credentials. When the "Always verify when using autofill" option is enabled, users will be prompted to enter their fingerprint, PIN, or password before autofilling payment information. This will help ensure that only authorized users have access to their payment credentials. this function

The main differences between Laravel and Yii are design concepts, functional characteristics and usage scenarios. 1.Laravel focuses on the simplicity and pleasure of development, and provides rich functions such as EloquentORM and Artisan tools, suitable for rapid development and beginners. 2.Yii emphasizes performance and efficiency, is suitable for high-load applications, and provides efficient ActiveRecord and cache systems, but has a steep learning curve.
