验证函数怎么实现判断条件的“或”组合?

#1 tmd

示例代码中,数组的中判断条件其实都是“与”的组合关系,必须全部满足才能通过验证。如果我想2个条件只满足一个就能通过验证怎么办?也就是“或”的组合怎么实现?能在数组中实现更好,不行的话在自己写的函数中如何实现?如何解决下面checkalipayname自编函数的问题?
var $verifier = array
     (  
         "rules" => array
         ( // 规则  
             'name' => array
             (  
                 'notnull' => TRUE,  
                 'minlength' => 2,  
                 'maxlength' => 20,  
               //  'youare' => 'jake' // 加入了新的验证规则和验证值  
             ),  
           'mobile' => array
             ( // 这里要验证手机号  
                 'notnull' => TRUE,  
                 'is_phone' => TRUE, // 自定义的手机号验证规则  
             ),  
。。。)
// 这里是独立的函数checkname  
// 它的参数同样也必须是($val, $right)  
function checkalipayname($val, $right)
{  
     if(( spClass("users")->check_phone($val , $right) == TRUE )||(spClass("spVerifier")->email($val, $right)==TRUE))//这样不行,怎么办?
     {
         return TRUE; // 返回TRUE则通过验证  
     }
     //else
     {  
        return FALSE; // 返回FALSE则无法通过验证  
     }  
}

2010-11-25 23:25:14

#2 jake

虽然spVerifier也是可以实现,不过比较复杂,如果是或的验证,建议是直接在提交数据之后对或的两组数据进行一次判断就可以(不通过spVerifier),然后余下的再使用spVerifier来验证(与的验证)。

2010-11-26 23:14:46

#3 tmd

感谢老大!这么晚了还给我回复,很辛苦啊!我昨晚1点才睡的,也很辛苦啊,哈哈:time:!本人菜鸟刚上手,还一下不明白老大说的具体怎么实现,自己再琢磨琢磨……

2010-11-27 09:44:35