Table des matières
Yii框架表单模型和验证用法,yii框架表单模型
Maison 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'),
  );
}

Copier après la connexion
$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();//遍历验证器执行验证

Copier après la connexion

验证器内部实现

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

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;
}

Copier après la connexion

创建验证器流程

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程序设计有所帮助。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier la signature dans un PDF Comment vérifier la signature dans un PDF Feb 18, 2024 pm 05:33 PM

Nous recevons généralement des fichiers PDF du gouvernement ou d'autres agences, certains avec des signatures numériques. Après avoir vérifié la signature, nous voyons le message SignatureValid et une coche verte. Si la signature n'est pas vérifiée, la validité est inconnue. La vérification des signatures est importante, voyons comment le faire en PDF. Comment vérifier les signatures au format PDF La vérification des signatures au format PDF le rend plus fiable et le document est plus susceptible d'être accepté. Vous pouvez vérifier les signatures dans les documents PDF des manières suivantes. Ouvrez le PDF dans Adobe Reader Cliquez avec le bouton droit sur la signature et sélectionnez Afficher les propriétés de la signature Cliquez sur le bouton Afficher le certificat du signataire Ajoutez la signature à la liste des certificats de confiance à partir de l'onglet Confiance Cliquez sur Vérifier la signature pour terminer la vérification.

Méthode détaillée pour débloquer à l'aide de la vérification assistée par un ami WeChat Méthode détaillée pour débloquer à l'aide de la vérification assistée par un ami WeChat Mar 25, 2024 pm 01:26 PM

1. Après avoir ouvert WeChat, cliquez sur l'icône de recherche, entrez dans l'équipe WeChat et cliquez sur le service ci-dessous pour entrer. 2. Après avoir entré, cliquez sur l'option outil libre-service dans le coin inférieur gauche. 3. Après avoir cliqué, dans les options ci-dessus, cliquez sur l'option de déblocage/appel pour vérification auxiliaire.

Comment valider le code IFSC à l'aide d'expressions régulières ? Comment valider le code IFSC à l'aide d'expressions régulières ? Aug 26, 2023 pm 10:17 PM

Le Code du système financier indien est l'abréviation. Les succursales des banques indiennes participant au système de transfert électronique de fonds sont identifiées par un code spécial à 11 caractères. La Reserve Bank of India utilise ce code dans les transactions Internet pour transférer des fonds entre banques. Le code IFSC est divisé en deux parties. Les banques sont identifiées par les quatre premiers caractères, tandis que les succursales sont identifiées par les six derniers caractères. NEFT (National Electronic Funds Transfer), RTGS (Real Time Gross Settlement) et IMPS (Immediate Payment Service) sont quelques-unes des transactions électroniques qui nécessitent des codes IFSC. Méthode Voici quelques méthodes courantes pour valider les codes IFSC à l'aide d'expressions régulières : Vérifiez si la longueur est correcte. Vérifiez les quatre premiers caractères. Vérifiez le cinquième caractère. Che

Nouvelles fonctionnalités de PHP 8 : ajout de la vérification et de la signature Nouvelles fonctionnalités de PHP 8 : ajout de la vérification et de la signature Mar 27, 2024 am 08:21 AM

PHP8 est la dernière version de PHP, apportant plus de commodité et de fonctionnalités aux programmeurs. Cette version met un accent particulier sur la sécurité et les performances, et l'une des nouvelles fonctionnalités remarquables est l'ajout de capacités de vérification et de signature. Dans cet article, nous examinerons de plus près ces nouvelles fonctionnalités et leurs utilisations. La vérification et la signature sont des concepts de sécurité très importants en informatique. Ils sont souvent utilisés pour garantir que les données transmises sont complètes et authentiques. La vérification et les signatures deviennent encore plus importantes lorsqu'il s'agit de transactions en ligne et d'informations sensibles, car si quelqu'un est capable de falsifier les données, cela pourrait potentiellement

Comment vérifier si l'entrée est en majuscules dans Golang Comment vérifier si l'entrée est en majuscules dans Golang Jun 24, 2023 am 09:06 AM

Golang est un langage de programmation moderne et performant qui implique souvent le traitement de chaînes dans le développement quotidien. Parmi eux, valider si la saisie est en lettres majuscules est une exigence courante. Cet article explique comment vérifier si l'entrée est constituée de lettres majuscules dans Golang. Méthode 1 : utilisez le package Unicode Le package Unicode de Golang fournit une série de fonctions pour déterminer le type de codage des caractères. Pour les lettres majuscules, la plage de codage correspondante est 65-90 (décimal), nous pouvons donc utiliser Unicode

Comment vérifier si l'entrée est constituée de caractères pleine chasse dans Golang Comment vérifier si l'entrée est constituée de caractères pleine chasse dans Golang Jun 25, 2023 pm 02:03 PM

Dans Golang, le codage Unicode et le type de rune sont requis pour vérifier si l'entrée est constituée de caractères pleine chasse. Le codage Unicode est une norme de codage de caractères qui attribue un point de code numérique unique à chaque caractère du jeu de caractères, qui comprend des caractères pleine chasse et des caractères demi-chasse. Le type rune est le type utilisé pour représenter les caractères Unicode en golang. La première étape consiste à convertir l’entrée en une tranche de type rune. Cela peut être converti en utilisant le type []rune de Golang, par exemple.

Comment résoudre le problème de la connexion Steam bloquée lors de la vérification du jeton mobile ? Comment résoudre le problème de la connexion Steam bloquée lors de la vérification du jeton mobile ? Mar 14, 2024 pm 07:35 PM

Steam est une plate-forme utilisée par les passionnés de jeux. Vous pouvez acheter et acheter de nombreux jeux ici. Cependant, récemment, de nombreux utilisateurs sont restés bloqués dans l'interface de vérification des jetons mobiles lors de la connexion à Steam et ne peuvent pas se connecter avec succès. savoir comment résoudre cette situation. Cela n'a pas d'importance. Le didacticiel du logiciel d'aujourd'hui est là pour répondre aux questions des utilisateurs. Les amis dans le besoin peuvent consulter les méthodes de fonctionnement. Erreur de jeton mobile Steam ? Solution 1 : Pour les problèmes logiciels, recherchez d'abord les paramètres du logiciel Steam sur le téléphone mobile, demandez la page d'assistance et confirmez que le réseau utilisant l'appareil fonctionne normalement, cliquez à nouveau sur OK, cliquez sur Envoyer SMS, vous pouvez recevoir le code de vérification sur le page de téléphone mobile, et vous avez terminé. Vérifiez, résolvez lors du traitement d'une demande.

Méthode d'expression régulière PHP pour vérifier le début et la fin d'une chaîne spécifique Méthode d'expression régulière PHP pour vérifier le début et la fin d'une chaîne spécifique Jun 24, 2023 am 11:20 AM

PHP est un langage de programmation très populaire couramment utilisé pour le développement Web. Dans le développement PHP, nous rencontrons souvent des situations où nous devons vérifier des chaînes. Parmi elles, les expressions régulières sont une méthode très couramment utilisée. Lors de la validation de chaînes, nous devons souvent vérifier si la chaîne commence ou se termine par un caractère ou une chaîne spécifique. Cet article explique comment utiliser les expressions régulières PHP pour vérifier le début ou la fin d'une chaîne. Vérifier le début de la chaîne En PHP, vérifiez le début de la chaîne via des expressions régulières Nous pouvons utiliser le symbole "^" pour représenter.

See all articles