【发布时间】:2013-08-30 16:21:46
【问题描述】:
例如,我有几个具有name 和uid 字段的模型,但有些模型没有它们。我希望所有具有这些字段的模型都使用以下规则,但是,我不想将以下代码块添加到每个模型中。
public $validate = array(
'name' => array(
array(
'rule' => array('between', 1, 25),
'message' => 'Name must contain %d to %d characters',
'required' => true
),
array(
'rule' => array('custom', AppModel::REGEX_NAME),
'message' => 'Name contains invalid characters.'
)
),
'uid' => array(
'rule' => 'uuid',
'message' => 'uid is not valid.',
'required' => true
),
);
我考虑通过设置public $validate 将规则添加到AppModel。这会导致以下问题。
- 没有这些字段的模型总是验证失败,因为
required为真。 - 如果你在模型中设置
public $validate,它不会继承AppModel的规则。
我确信这可以通过即时添加验证来处理(我在 AppModel 中考虑 beforeValidate()),但我想知道其他人是如何处理这个的。
有人知道更好的方法吗?
【问题讨论】:
标签: php validation cakephp