PHP结构化变量和用户生成的验证规则?用户生成的PHP代码?

时间:2012-02-09 22:30:04

标签: php arrays validation

背景

Henry有一个应用程序,他希望允许非开发人员为PHP结构化变量指定验证规则。

示例:

$user_profile = Array(
  main => Array(
    first_name  => "Archibald",
    last_name   => "Shaw",
    sex         => "male",
    age         => "33",    
  ),
  guardian => Array(
    first_name => "",
    last_name => "",
  ),
  children => Array(
    0 => Array(
      first_name => "Sally",
      last_name => "Shaw",
    ),
    1 => Array(
      first_name => "Scott",
      last_name => "Shaw",
    ),
  ),      
);

目标:

目标是允许用户指定自动化的验证规则:$user_profile格式正确吗?

用户应该能够生成验证规则,而无需编写任何PHP代码,如下所示:

if
  ( user_profile.main.first_name.is_blank )
then
   user_profile.add_validation_error('Error: main.first_name must not be blank')

if
  ( user_profile.main.last_name.is_blank )
then
   user_profile.add_validation_error('Error: main.last_name must not be blank')


if
  ( user_profile.main.age < 18 ) 
   and (user_profile.guardian.first_name.is_blank) 
   and (user_profile.guardian.last_name.is_blank) 
then
   user_profile.add_validation_error('Error: you must specify a guardian')

问题:

是否已经有一个类似于此的PHP库或工具?

2 个答案:

答案 0 :(得分:1)

不,没有。你可能需要自己建一个。

Kohana框架将其用于表单验证,请查看它们:

http://kohanaframework.org/3.2/guide/kohana/security/validation

答案 1 :(得分:0)