Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse zur Formularvalidierung des CI-Frameworks

Analyse zur Formularvalidierung des CI-Frameworks

不言
不言Original
2018-06-14 13:47:571809Durchsuche

Dieser Artikel stellt hauptsächlich die CI-Framework-Formularüberprüfungsmethode vor. Er fasst die Einstellungen, Fehleraufforderungen, Ansichtsanzeigen und andere verwandte Betriebstechniken und Verwendungsmethoden des CI-Frameworks zusammen und analysiert sie in Form von Beispielen dazu

Das Beispiel in diesem Artikel beschreibt die CI-Framework-Formularüberprüfungsmethode. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

1. Automatische Ausgabefunktion (Ansicht) von Formularkopfinformationen

<?php
 $attributes = array(&#39;class&#39; => &#39;email&#39;, &#39;id&#39; => &#39;myform&#39;);
 echo form_open(&#39;email/send&#39;, $attributes);
 //上面一行代码输出:
 //<form method="post" accept-charset="utf-8" action="http://example.com/index.php/email/send" id="myform" class="email"/>
 /*
 * form_open_multipart()
 * 函数用法同上,加上了文件上传的信息 上传方式默认为post
 */
?>

2. Verifizierungsregeln festlegen (Controller)

<?php
//注意验证规则的变量名必须设置成 config
$config = array(
        array(
           &#39;field&#39;  => &#39;username&#39;,
           &#39;label&#39;  => &#39;用户名&#39;,
           &#39;rules&#39;  => &#39;required&#39;
         ),
        array(
           &#39;field&#39;  => &#39;password&#39;,
           &#39;label&#39;  => &#39;密码&#39;,
           &#39;rules&#39;  => &#39;required&#39;
         ),
        array(
           &#39;field&#39;  => &#39;passconf&#39;,
           &#39;label&#39;  => &#39;确认密码&#39;,
           &#39;rules&#39;  => &#39;required|matches[password]&#39;
         ),
        array(
           &#39;field&#39;  => &#39;tel&#39;,
           &#39;label&#39;  => &#39;手机&#39;,
           &#39;rules&#39;  => &#39;required|integer|exact_length[11]&#39;),
        array(
           &#39;field&#39;  => &#39;email&#39;,
           &#39;label&#39;  => &#39;邮箱&#39;,
           &#39;rules&#39;  => &#39;required|valid_email&#39;
         )
      );
//上面的会自动
//单独设置规则
$this->form_validation->set_rules(&#39;username&#39;, &#39;Username&#39;, &#39;trim|required|min_length[5]|max_length[12]|xss_clean&#39;);
$this->form_validation->set_rules(&#39;password&#39;, &#39;Password&#39;, &#39;trim|required|matches[passconf]|md5&#39;);
$this->form_validation->set_rules(&#39;passconf&#39;, &#39;Password Confirmation&#39;, &#39;trim|required&#39;);
$this->form_validation->set_rules(&#39;email&#39;, &#39;Email&#39;, &#39;trim|required|valid_email&#39;);
?>

3. Fehlermeldung entsprechend der Regel (Controller)

<?php
$this->form_validation->set_message(&#39;required&#39;, &#39;必须填写&#39;);
$this->form_validation->set_message(&#39;valid_email&#39;, &#39;不是有效的email&#39;);
?>

4. Fehlermeldung ausführen (Controller)

<?php
 $this->load->helper(array(&#39;form&#39;, &#39;url&#39;));
 //加载CI表单验证库
 $this->load->library(&#39;form_validation&#39;);
 //----------------------------------------
 # 验证规则及错误信息代码放在这里
 //----------------------------------------
 if ($this->form_validation->run() == FALSE){
   //提交失败 重新加载表单部分
   $this->load->view(&#39;myform&#39;);
 }else{
   //提交成功 表单处理
   //跳转成功页面
   $this->load->view(&#39;formsuccess&#39;);
 }
}

5. Fehlermeldungsausgabefunktion (Ansicht)

<?php
  //1.一股脑儿的全部输出(放在表单标签的上方即可)
  echo validation_errors();
  //2.针对单个表单单独输出(放在单个标签附近 参数为对应表单元素的域名)
  echo form_error(&#39;password&#39;);
  //3.针对单个表单输出的时候 需要修改定界符 显示错误信息样式(控制器里设置)
  $this->form_validation->set_error_delimiters(&#39;<span class="error">&#39;, &#39;</span>&#39;);
  //设置成内联元素比较好
?>

6. Füllen Sie das Formular (Ansicht) nach einem Fehler aus

<?php
 //一般元素 回填(放在标签的values属性中输出)
 echo set_value(&#39;email&#39;);
 //特殊元素select/checkbox/radio 第三个参数为true时 默认被选中
 //第二个参数 是对应的表单元素的实际值
 echo set_select(&#39;myselect&#39;, &#39;three&#39;); //放在option的空白属性里
 echo set_checkbox(&#39;mycheck[]&#39;, &#39;1&#39;); //放在checkbox的空白属性里
 echo set_radio(&#39;myradio&#39;, &#39;2&#39;);    //放在radio的空白属性里
?>

HTML-Code:

<html>
 <head>
  <title>My Form</title>
 </head>
<body>
 <?php echo validation_errors(); ?>
 <?php echo form_open(&#39;form&#39;); ?>
  <h5>Username</h5>
  <input type="text" name="username" value="<?php echo set_value(&#39;username&#39;); ?>" size="50" />
  <?php echo form_error(&#39;username&#39;); ?>
  <h5>Password</h5>
  <input type="text" name="password" value="<?php echo set_value(&#39;password&#39;); ?>" size="50" />
  <?php echo form_error(&#39;password&#39;); ?>
  <h5>Password Confirm</h5>
  <input type="text" name="passconf" value="<?php echo set_value(&#39;passconf&#39;); ?>" size="50" />
  <?php echo form_error(&#39;passconf&#39;); ?>
  <h5>Email Address</h5>
  <input type="text" name="email" value="<?php echo set_value(&#39;email&#39;); ?>" size="50" />
  <?php echo form_error(&#39;email&#39;); ?>
  <p><input type="submit" value="Submit" /></p>
</form>
</body>
</html>

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein zur chinesischen PHP-Website!

Verwandte Empfehlungen:

Über gängige Bildverarbeitungsmethoden, die im CI-Framework gekapselt sind

Über das Laden von Ansichten in der CI-Framework-Ansichtsmethode

Das obige ist der detaillierte Inhalt vonAnalyse zur Formularvalidierung des CI-Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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