jed*_*ung 6 php validation cakephp
这里是CakePHP的新手 - 我正在浏览网站上的文档,试图为我正在创建的模型设置一些基本的数据验证.这可能是我对CakePHP的许多问题中的第一个.
在CakePHP Book中,验证规则似乎指定了两种不同的方法来确保字段不为空 - AllowEmpty
和NotEmpty
.
问题 - 这两者之间是否存在切实差异?CakePHP声明验证规则应该出现在您的模型或控制器中 - 是否更适合模型,另一个适用于控制器?这本书没有说明这一点.我猜这是一个较旧的方法,它仍然存在?
是什么赋予了?我应该使用特定的一个或两个,还是不重要?
编辑:我决定检查CakePHP 1.3 类文档(检查allowEmpty
属性的默认值),但它甚至没有出现.它不在源代码中......是否有我遗漏的东西?
Cha*_*rry 10
欢迎来到蛋糕.我希望你喜欢它.
这绝对是Cake的一个陌生方面.
notEmpty
本身就是一条规则.您可以在$validation
属性中定义它.您可以为此验证失败时分配消息.您可以将其视为任何其他验证规则.
allowEmpty
是另一个验证规则的选项,通常不是 notEmpty
. 它本身并不是验证规则. 例如,这将允许您定义varchar
字段允许空字符串''或不超过20个字符的字符串.
编辑:
这是一些代码
// model validation using 'notEmpty'
$validation = array(
'fieldName' => array(
'notEmpty' => array(
'rule' => 'notEmpty',
'message' => 'This value may not be left empty!'
),
... // other rules can go here
),
... // other fieldName can go here
);
// model validation using 'allowEmpty' to create an optional field
$validation = array(
'fieldName' => array(
'maxLength' => array(
'rule' => array('maxLength', 20),
'message' => 'This field may only contain 20 characters!',
'allowEmpty' => true // we'll also accept an empty string
),
... // other rules can go here
)
... // other fieldName can go here
);
Run Code Online (Sandbox Code Playgroud)