2017-07-26 146 views
1

存在我需要驗證電子郵件ID氣象其存在與否電子郵件jQuery驗證在laravel

我曾嘗試這個代碼,但它無法正常工作,並在檢查元素,它顯示:

jquery- 1.10.2.js:8706

http://localhost/selfcomply/public/admin/companymaster/check_email.php POST 405(不允許的方法)和

MethodNotAllowedHttpException在RouteCollection.php線218:

validation.js文件

$("#companydata").validate 
({ 
    rules: { 
     company_email:{ 
      required: true, 
      emailer: true, 
      remote:{ 
       url:"check_email.php", 
       type:"post" 
      } 
       }, 

    messages:{ 

     company_email:{ 
      required: "Please enter the email address ", 
      remote:"Already Exist" 
     }, 

    } 
}); 

check_email.php

$email = "'".$_POST["emails"]."'"; 
    $showmember = DB::select(DB::raw("SELECT count(company_email) as countemail FROM tbl_company_master WHERE company_email = ".$email."")); 
    if($showmember[0]->countemail > 0) 
    { 
     return "false"; 
    } 
    else 
    { 
    return "true"; 
    } 

天氣我需要給路徑route.php或沒有,但我不這麼認爲

+0

該錯誤意味着您正在嘗試對請求執行POST操作,但路由不允許任何POST請求。你使用Laravel嗎?如果是這樣,請在此處轉儲您的路線或路線文件。 –

+0

我還沒有在route.php中寫過任何路線@DeesOomens – ratnesh

回答

0

如果您正在使用laravel,比變化:

url:"check_email.php", // This is the core php way of passing the file name here 

url: "/checkemail", // In laravel, you have to pass a route here 

爲此,你不得不在規定航線像get路線:

Route::get('/checkemail', '[email protected]'); 

這裏myFunctionMyController定義的函數,即基於電子郵件檢查邏輯返回要麼true/false

+0

我已經嘗試過了,但是它在檢查元素控制檯中顯示「在此服務器上找不到請求的URL」。 @Mayank – ratnesh

0

如果電子郵件在查詢(搭載雄辯ORM)直接存在你可以檢查:

變化在這裏:

remote:{ 
      url:"checkEmail", 
      type:"post" 
     } 

,並在route.php改變,

Route::post('/checkEmail', '[email protected]'); 

比在php控制器中

public function checkEmailvalid() 
{ 
    $user = User::all()->where('email', Input::get('email'))->first(); 
    if ($user) { 
    return Response::json(Input::get('email').' is already taken'); 
    } else { 
    return Response::json(Input::get('email').' Username is available'); 
    } 
} 
+0

我已經嘗試了上述解決方案,但在控制檯m中看到錯誤「RouteCollection.php中的MethodNotAllowedHttpException第218行:」,並且前端沒有顯示錯誤消息或驗證消息。 – ratnesh

+0

你的控制器名稱是什麼?將此函數checkEmailvalid()放入該控制器中,並在routes.php中更改控制器的名稱 –