2017-03-02 41 views
0

osticket 1.10版本的電子郵件驗證,我希望在電子郵件輸入字段應用驗證規則,使用戶只能從特定域的電子郵件ID可以開新票或申請註冊,即電子郵件地址總是應該看起來像[email protected]。然而,我試圖編輯is_email()在功能包括/ class.validator.php如波紋管osticket當用戶打開一個新的票

static function is_email($email, $list=false, $verify=false){ 
     $domains = array('specificdomain.com'); 
     $pattern = "/^[a-z0-9._%+-][email protected]([a-z0-9.-]+.)*(" . implode('|', $domains) . ")$/i"; 
     if (!preg_match($pattern, $email)) { 
      return false; 
     } 

    } 

但是,沒有使用。在這方面任何機構都可以幫助我。

回答

1

請嘗試這種模式/(\W|^)[\w.+\-]*@specificdomain\.com(\W|$)/

 static function is_email($email, $list=false, $verify=false){   
     $domains = 'specificdomain.com'; 
     $pattern = "/(\W|^)[\w.+\-]*".$domains."(\W|$)/"; 
      if (!preg_match($pattern, $email)) { 
      return FALSE;    
      }else{ 
      return TRUE; 
      } 

     } 
+0

雅其好,但問題仍然相同,不同域的用戶可以打開票。只是想知道是我在包含/ class.validator.php文件是正確的文件? –

0

您可以爲每個域的組織。去用戶 - >組織 - >定義一個,然後點擊它的名稱 - >設置選項卡 - >定義域

這將允許來自該域的所有用戶打開呼叫。它們也將作爲組織頁面下的用戶添加。

如果你想阻止其他域名,你必須去管理面板,然後設置 - >用戶 - >勾選註冊需要,並選擇註冊方法「只有代理可以註冊用戶」。儘管看起來如果用戶是域名的一部分,即使他還沒有註冊,他也能打開電話。

有點晚了,但我希望它能幫助你。

相關問題