例如,我有几个具有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
),
);
我考虑过AppModel
通过设置添加规则public $validate
。这导致以下问题。
- 没有这些字段的模型总是无法通过验证,因为
required
它是真的。 - 如果你
public $validate
在一个模型中设置,它不会从 AppModel 继承规则。
我确信这可以通过即时添加验证来处理(我在 AppModel 中考虑 beforeValidate()),但我想知道其他人是如何处理这个问题的。
有谁知道更好的方法?