Inhaltsverzeichnis
Yii框架表单模型和验证用法,yii框架表单模型
Heim php教程 php手册 Yii框架表单模型和验证用法,yii框架表单模型

Yii框架表单模型和验证用法,yii框架表单模型

Jun 12, 2016 pm 04:30 PM
yii 验证

Yii框架表单模型和验证用法,yii框架表单模型

本文实例讲述了Yii框架表单模型和验证用法。分享给大家供大家参考,具体如下:

表单模型CFormModel绝大部分继承CModelCModel,由于表模型数据不需要持久化,所以主要在验证操作上。下面以框架脚手架生成的网站登录为例说明表单模型。

//模型中的验证规则
public function rules()
{
  return array(
    array('username, password', 'required'),
    array('rememberMe', 'boolean'),
    array('password', 'authenticate'),
  );
}

Nach dem Login kopieren
$model=new LoginForm;//创建一个登录表单模型
$model->attributes=$_POST['LoginForm'];//传入登录数据
CModel->setAttributes($values,$safeOnly=true)//调用CModel的setter方法
//返回model中relues中定义的安全数据,经过下面的调用流程获取一个验证器集合
//每个验证器由CValidator::createValidator($rule[1],$this,$rule[0],array_slice($rule,2))
CModel->getValidators()
->createValidators()
->rules()
CModel->validate();//遍历验证器执行验证

Nach dem Login kopieren

验证器内部实现

表单模型核心部分在验证上,下面探讨其实现方式。

YII框架中验证以独立组件集合的形式存在,CValidator是所有验证器的基类。还是以登录验证为例。rules方法中包含required、boolean、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;
}

Nach dem Login kopieren

创建验证器流程

1、获取属性(array $attributes)和使用场景(array $on)
2、判断验证器是否存在model中,如果存在创建一个内联验证器CInlineValidator,如果不存在,执行第3步
3、如果验证器是框架自带的导入自带验证器,否则导入外部验证器,然后实例化并赋值。

当触发validate()时候,可能产生的错误将被存储在model中,可以通过调用 CModel::getErrors() 和CModel::getError() 提取这些错误信息

PS:小编在这里推荐一款本站的php格式化美化的排版工具帮助大家在以后的PHP程序设计中进行代码排版:

php代码在线格式化美化工具:http://tools.jb51.net/code/phpformat

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So überprüfen Sie die Signatur in PDF So überprüfen Sie die Signatur in PDF Feb 18, 2024 pm 05:33 PM

Normalerweise erhalten wir PDF-Dateien von der Regierung oder anderen Behörden, teilweise mit digitalen Signaturen. Nach der Überprüfung der Signatur sehen wir die Meldung SignatureValid und ein grünes Häkchen. Wenn die Signatur nicht überprüft wird, ist die Gültigkeit unbekannt. Die Überprüfung von Signaturen ist wichtig. Sehen wir uns an, wie das im PDF-Format geht. So überprüfen Sie Signaturen im PDF-Format. Durch die Überprüfung von Signaturen im PDF-Format wird das Dokument vertrauenswürdiger und die Wahrscheinlichkeit erhöht, dass es akzeptiert wird. Sie können Signaturen in PDF-Dokumenten auf folgende Weise überprüfen. Öffnen Sie die PDF-Datei im Adobe Reader. Klicken Sie mit der rechten Maustaste auf die Signatur und wählen Sie „Signatureigenschaften anzeigen“. Klicken Sie auf die Schaltfläche „Unterzeichnerzertifikat anzeigen“. Fügen Sie die Signatur auf der Registerkarte „Vertrauen“ zur Liste „Vertrauenswürdige Zertifikate“ hinzu. Klicken Sie auf „Signatur überprüfen“, um die Überprüfung abzuschließen

Detaillierte Methode zum Entsperren mithilfe der freundunterstützten WeChat-Verifizierung Detaillierte Methode zum Entsperren mithilfe der freundunterstützten WeChat-Verifizierung Mar 25, 2024 pm 01:26 PM

1. Klicken Sie nach dem Öffnen von WeChat auf das Suchsymbol, geben Sie das WeChat-Team ein und klicken Sie zum Betreten auf den Dienst unten. 2. Klicken Sie nach der Eingabe auf die Option „Self-Service-Tool“ in der unteren linken Ecke. 3. Klicken Sie nach dem Anklicken in den Optionen oben auf die Option zum Entsperren/Einspruch für eine zusätzliche Verifizierung.

Neue Funktionen in PHP 8: Verifizierung und Signierung hinzugefügt Neue Funktionen in PHP 8: Verifizierung und Signierung hinzugefügt Mar 27, 2024 am 08:21 AM

PHP8 ist die neueste Version von PHP und bietet Programmierern mehr Komfort und Funktionalität. Bei dieser Version liegt ein besonderer Schwerpunkt auf Sicherheit und Leistung, und eine der bemerkenswerten neuen Funktionen ist die Hinzufügung von Verifizierungs- und Signierungsfunktionen. In diesem Artikel werfen wir einen genaueren Blick auf diese neuen Funktionen und ihre Verwendung. Verifizierung und Signierung sind sehr wichtige Sicherheitskonzepte in der Informatik. Sie dienen häufig dazu, sicherzustellen, dass die übermittelten Daten vollständig und authentisch sind. Verifizierung und Signaturen werden beim Umgang mit Online-Transaktionen und sensiblen Informationen noch wichtiger, denn wenn jemand in der Lage ist, die Daten zu manipulieren, könnte dies möglicherweise der Fall sein

Wie validiere ich IFSC-Code mithilfe regulärer Ausdrücke? Wie validiere ich IFSC-Code mithilfe regulärer Ausdrücke? Aug 26, 2023 pm 10:17 PM

Die Abkürzung lautet Indian Financial System Code. Indische Bankfilialen, die am elektronischen Geldtransfersystem teilnehmen, werden durch einen speziellen 11-stelligen Code identifiziert. Die Reserve Bank of India verwendet diesen Code bei Internettransaktionen, um Gelder zwischen Banken zu überweisen. Der IFSC-Code ist in zwei Teile unterteilt. Banken werden durch die ersten vier Zeichen identifiziert, während Filialen durch die letzten sechs Zeichen identifiziert werden. NEFT (National Electronic Funds Transfer), RTGS (Real Time Gross Settlement) und IMPS (Immediate Payment Service) sind einige der elektronischen Transaktionen, die IFSC-Codes erfordern. Methode Einige gängige Methoden zur Validierung von IFSC-Codes mithilfe regulärer Ausdrücke sind: Überprüfen Sie, ob die Länge korrekt ist. Überprüfen Sie die ersten vier Zeichen. Überprüfen Sie den fünften Charakter. Che

So überprüfen Sie, ob die Eingabe in Golang aus Großbuchstaben besteht So überprüfen Sie, ob die Eingabe in Golang aus Großbuchstaben besteht Jun 24, 2023 am 09:06 AM

Golang ist eine leistungsstarke, moderne Programmiersprache, die in der täglichen Entwicklung häufig die Verarbeitung von Zeichenfolgen erfordert. Unter diesen ist die Überprüfung, ob die Eingabe in Großbuchstaben erfolgt, eine häufige Anforderung. In diesem Artikel erfahren Sie, wie Sie überprüfen können, ob die Eingabe in Golang aus Großbuchstaben besteht. Methode 1: Verwenden Sie das Unicode-Paket in Golang. Es bietet eine Reihe von Funktionen zur Bestimmung des Codierungstyps von Zeichen. Für Großbuchstaben liegt der entsprechende Kodierungsbereich zwischen 65 und 90 (dezimal), sodass wir Unicode verwenden können

So überprüfen Sie, ob die Eingabe in Golang aus Zeichen voller Breite besteht So überprüfen Sie, ob die Eingabe in Golang aus Zeichen voller Breite besteht Jun 25, 2023 pm 02:03 PM

In Golang sind Unicode-Codierung und Runentyp erforderlich, um zu überprüfen, ob es sich bei der Eingabe um Zeichen in voller Breite handelt. Die Unicode-Kodierung ist ein Zeichenkodierungsstandard, der jedem Zeichen im Zeichensatz, einschließlich Zeichen voller und halber Breite, einen eindeutigen numerischen Codepunkt zuweist. Der Runentyp ist der Typ, der zur Darstellung von Unicode-Zeichen in Golang verwendet wird. Der erste Schritt besteht darin, die Eingabe in ein Runentyp-Slice umzuwandeln. Dies kann mithilfe des Runentyps [] von Golang konvertiert werden, z.

So überprüfen Sie, ob die Eingabe ausschließlich aus chinesischen Zeichen in Golang besteht So überprüfen Sie, ob die Eingabe ausschließlich aus chinesischen Zeichen in Golang besteht Jun 24, 2023 am 09:16 AM

Mit der Entwicklung der Zeit legen wir immer mehr Wert auf die Überprüfung von Daten, insbesondere auf die Überprüfung von Benutzereingaben. Bei der Sprachüberprüfung ist es zu einem wichtigen Thema geworden, genau zu bestimmen, ob die Eingabe ausschließlich aus chinesischen Zeichen besteht. In Golang können wir das Unicode-Paket und das Regexp-Paket verwenden, um diese Anforderung zu erfüllen. 1. Unicode-Paket Das Unicode-Paket bietet eine Reihe von Kernunterstützungen für Unicode. Mit den Funktionen in diesem Paket können wir genau bestimmen, ob es sich bei einem Zeichen um ein chinesisches Schriftzeichen handelt.

PHP-Methode für reguläre Ausdrücke, um den Anfang und das Ende einer bestimmten Zeichenfolge zu überprüfen PHP-Methode für reguläre Ausdrücke, um den Anfang und das Ende einer bestimmten Zeichenfolge zu überprüfen Jun 24, 2023 am 11:20 AM

PHP ist eine sehr beliebte Programmiersprache, die häufig für die Webentwicklung verwendet wird. Bei der PHP-Entwicklung stoßen wir häufig auf Situationen, in denen wir Zeichenfolgen überprüfen müssen. Unter diesen sind reguläre Ausdrücke eine sehr häufig verwendete Methode. Bei der Validierung von Zeichenfolgen müssen wir häufig überprüfen, ob die Zeichenfolge mit einem bestimmten Zeichen oder einer bestimmten Zeichenfolge beginnt oder endet. In diesem Artikel wird erläutert, wie Sie reguläre PHP-Ausdrücke verwenden, um den Anfang oder das Ende einer Zeichenfolge zu überprüfen. Überprüfen Sie den Anfang der Zeichenfolge. Überprüfen Sie in PHP den Anfang der Zeichenfolge mithilfe regulärer Ausdrücke. Zur Darstellung können wir das Symbol „^“ verwenden

See all articles