2012-09-25 70 views
0

在使用自定义Zend验证器时验证多个值的最佳实践是什么?目前我以$ value的形式传入一个数组,但这看起来很尴尬,对我来说也不是很可扩展。会有更好的方法吗?这里是我的验证的一个片段:将多个值传递给Zend验证?

public function isValid($value=array()) 
{ 
    $userID=$value["userID"]; 
    $applicationID=$value["applicationID"]; 

    /***** Validate next and return, etc. 

回答

0

如果您验证用户ID和的applicationID以相同的方式(相同的规则),所以只需调用的isValid方法的两倍。没有什么问题。

如果他们有不同的规则,创建两个不同的验证器类。它会遵循逻辑的基本分离。

+0

例如,不是试图验证userid/applicationID,而是尝试验证用户是否存在。所以验证者需要两个参数。可能是一个不好的例子,但我认为这个问题仍然有效,最好的方法是基于多个值进行验证? –

+0

我只是按照半年前所说的相同方式进行操作 - 为每个数据类型创建验证器类/使用默认类(让用户标识符为数据类型),然后逐个调用。 我不喜欢数组方法,因为您最终只能在一种情况下使用验证器类 - 不可重用。 – Gediminas