FuelPHP教程

FuelPHP 验证

验证 是 Web 应用程序中最频繁和最重复的任务之一。用户在表单中输入所需的数据并提交。然后,Web 应用程序需要在处理数据之前验证数据。例如,用户输入员工数据,post_action 需要验证,然后才能将其保存到数据库中。 FuelPHP 为此提供了一个非常简单的类 Validation。
在 FuelPHP 中,验证的概念非常简单,它通过 Validation 类提供各种方法来正确验证表单。以下是验证的工作流程,
步骤 1-使用 forge 方法创建新的验证对象。
$val = Validation::forge();
步骤 2-添加需要使用 add 方法验证的字段。
$val->add('name', 'Employee name');
步骤 3-使用 add_rule 为添加的字段设置验证规则。
$val->add('name', 'Employee name')->add_rule('required'); 
$val->add('age', 'Employee age')->add_rule('required') 
  ->add_rule('numeric_min', 20) 
  ->add_rule('numeric_max', 30); 
步骤 4-调用 run 方法来验证数据。
// run validation on just post 
if ($val->run()) { 
   // success 
} else { 
   // falier 
} 
步骤 5-使用验证和错误分别获取有效和无效字段。
$vars = $val->validated(); 
$vars = $val->error();

规则

FuelPHP 包含许多要验证的规则,还提供了创建新规则的选项。 Validation类支持的规则如下,
required-要输入的值 required_with-将另一个字段设置为伴随字段。如果设置了字段,则还需要设置伴随字段 match_value-设置要与字段值匹配的值 match_pattern-将要匹配的值设置为与字段值匹配的正则表达式 match_field-将另一个字段的值设置为与该字段值匹配的值 match_collection-将要匹配的值设置为具有字段值的集合 min_length-设置字段值的最小长度 max_length-设置字段值的最大长度 exact_length-设置字段值的确切长度 valid_date-将字段的值设置为有效日期 valid_email-将字段的值设置为有效的电子邮件 valid_emails-将字段的值设置为有效的电子邮件,以逗号分隔 valid_url-将字段的值设置为有效的 URL valid_ip-将字段的值设置为有效的 IP numeric_min-设置字段值的最小值 numeric_max-设置字段值的最大值 numeric_between-设置字段值的最小值和最大值 valid_string-类似于正则表达式,但更简单
$val->add('username', 'User name')->add_rule('valid_string', array('alpha, dots');
这里,alpha 指的是字母字符,点指的是 (.)。有效字符串仅是包含字母字符和 (.) 的字符串。其他选项是大写、小写、特殊、数字、空格等。

工作示例

我们可以更新添加员工功能以包含验证。只需更新员工控制器的 post_add 方法,如下所示。
public function post_add() { 
   $val = Validation::forge(); 
   $val->add('name', 'Employee name')->add_rule('required'); 
   $val->add('age', 'Employee age')->add_rule('required')
     ->add_rule('numeric_min', 20) 
     ->add_rule('numeric_max', 30);  
   
   if ($val->run()) { 
      $name = Input::post('name'); 
      $age = Input::post('age');  
      $model = new model_employee(); 
      $model->name = $name; 
      $model->age = $age; 
      $model->save();  
      Response::redirect('employee/list'); 
   } else { 
      Response::redirect('employee/add'); 
   } 
}
在这里,我们指定了 姓名和年龄作为必填字段。 age 需要在 20 到 30 之间。如果两个规则都有效,则员工数据将被保存并重定向到员工列表页面。否则,员工数据将被拒绝并重定向到添加员工页面。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4