2017-08-21 45 views
0

請解決我的問題。如在以下情況下顯示控制器頁:如何驗證重置密碼?

Controller.php這樣

public function TeacherUpdatePassword(Request $request) 
{ 
$this->validate($request, [ 
    'curr_password' => 'required', 
    'new_password' => 'required|min:4', 
    'confm_password' => 'required|same:new_password',], 

    [ 
    'curr_password.required' => 'Enter Current Password', 
    'new_password.required' => 'required|min:4', 
    'confm_password.required' => 'required|same:new_password', 
]); 

if(!Hash::check($curr_password,Auth::user()->password)){ 
\Session::flash('success', 'The specified password does not match.'); 
return Redirect('/studentresetpassword'); 
} 

else if ($new_password !== $confm_password) { 
\Session::flash('success', 'Passwords are NOT the same.'); 
return Redirect('/studentresetpassword'); 
} 

else{ 
$request->user()->fill(['password' => Hash::make($new_password)])->save(); 
\Session::flash('success', 'Updated Successfully.'); 
return Redirect('/studentresetpassword'); 
} 

} 

Teacherresetpassword.blade.php

@extends('layouts.default') 
@section('content') 
<div id="profileTeacher" type="view" class="demo-section k-header"> 
@include('layouts.common.flash-message') 

    {!! Form::open(['url' => 'teacherupdatepassword', 'method' => 'post']) !!} 
<form id="profileTeacherForm" method="post" action="" > 
    <ul id="fieldlist" > 
      <li> 
      <label style="color:Green;font-size:15px">Update Password</label> 
      </li> 
      <li> 
      <table id="lessonPlanTable"> 

       <tr> 
        <td><label> Current Password </label> </td> 
        <td><input type="password" id="curr_password" name="curr_password" class="k-textbox"/ required></td> 
        </tr> 
        <tr> 
        <td><label> New Password </label> </td> 
        <td><input type="password" id="new_password" name="new_password" class="k-textbox"/ required></td> 
        </tr> 

       <tr> 
        <td><label> Confirm Password </label> </td> 
        <td><input type="password" id="confm_password" name="confm_password" class="k-textbox"/ required ></td> 
        </tr> 
        </table> 
       </li> 
     <li><br> 
      <button id="updateTeacherProfile" class="k-button k-primary" type="submit">Update</button>&nbsp;&nbsp; 
      <br><br> 

    </ul> 
</form> 

</div> 
@stop 

route.php

Route::get('/teacherresetpassword', function() { 
return view('layouts.teacher.teacherresetpassword'); 
}); 
Route::post('/teacherupdatepassword ', 
'Teacher\[email protected]'); 

這裏的會話閃光警報消息已經工作,但我想驗證爲空字段和密碼不匹配cases.But valida重刑沒有奏效我知道我該怎麼做,請幫助我!

回答

0

我想我自己最後我得到了上述問題的正確答案。

public function TeacherUpdatePassword(Request $request) 
{ 

$curr_password = $request->curr_password; 
$new_password = $request->new_password; 
$confm_password = $request->confm_password; 

    $this->validate($request,[ 
'curr_password' => 'required', 
'new_password' => 'required|min:4', 
'confm_password' => 'required|same:new_password', 
]); 

if(!Hash::check($curr_password,Auth::user()->password)){ 
\Session::flash('success', 'The specified password does not match.'); 
return Redirect('/teacherresetpassword'); 
} 

    else{ 
    $request->user()->fill(['password' => Hash::make($new_password)])->save(); 
\Session::flash('success', 'Updated Successfully.'); 
    return Redirect('/teacherresetpassword'); 
} 

佈局

<label> Current Password </label> 
        <input type="password" id="curr_password" name="curr_password" class="k-textbox"/> 
        @if (count($errors->first('curr_password'))) 
       <div class="alert alert-danger"> 
       <ul> 
       <li>{{$errors->first('curr_password')}}</li> 
       </ul> 
       </div> 
       @endif 

        <label> New Password </label> 
        <input type="password" id="new_password" name="new_password" class="k-textbox"/> 
        @if (count($errors->first('new_password'))) 
       <div class="alert alert-danger"> 
       <ul> 
       <li>{{$errors->first('new_password')}}</li> 
       </ul> 
       </div> 
       @endif 

        <label> Confirm Password </label> 
        <input type="password" id="confm_password" name="confm_password" class="k-textbox"/> 
        @if (count($errors->first('confm_password')) > 0) 
       <div class="alert alert-danger"> 
       <ul> 
       <li>{{$errors->first('confm_password')}}</li> 
       </ul> 
       </div> 
       @endif 

感謝ü所有給我一個想法,我的問題。

0

你應該嘗試這樣的例子:

public function rules() 
    { 
     return [ 
      'old_password' => 'required', 
      'password'  => 'required|min:6|confirmed', 
     ]; 
    } 

    /* 
    *Custom message... 
    */ 
    public function messages(){ 
     return [ 
      'old_password.required' => 'The Old Password field is required.', 
      'password.required' => 'The New Password field is required.', 

     ]; 
    } 

更新

只是把這個代碼下面的confim密碼文本框中

@if (count($errors->first('your_field_name')) > 0) 
    <div class="alert alert-danger"> 
     <ul> 
      <li>{{$errors->first('your_field_name')}}</li> 
     </ul> 
    </div> 
@endif 

希望此代碼對你的工作! !

+0

將值返回到下一個窗口 {「curr_password」:「需要」,「NEW_PASSWORD」:「需要」,「confm_password」:「需要|分:6 |證實」} –

+0

以上代碼的工作,但它顯示一個警告框,但我想驗證只有像「密碼不匹配」顯示下面的confim密碼文本框 –

+0

@NishAnth如果我的答案是你的解決方案,然後請接受並upvote到我的答案 –

0
$curr_password, $new_password, $confm_password these 3 contains input. 
$data_input=array('curr_password'=>$curr_password, 'new_password'=>$new_password , 'confm_password'=>$confm_password) 

$rules=array(
    'curr_password' => 'required', 
    'new_password' => 'required|min:4', 
    'confm_password' => 'required|same:new_password'); 

$messages=array(
    'curr_password.required' => 'Enter Current Password', 
    'new_password.required' => 'Enter Password', 
    'confm_password.required' => 'Enter Confiem password'); 

Validator::make($data_input, $rules, $messages); 
+0

這是行不通的 –

+0

對不起,這是我的現在我錯誤地編輯了該代碼。 – Nikita

+0

以上代碼正在工作,但它顯示一個警告框,但我想驗證只有像「密碼不匹配」顯示下面的confim密碼文本框 –

0
$this->validate($request,[ 
    'new_password' => 'required|min:4|confirmed', 
    'new_password_confirmation' => 'required|min:4', 
], [ 
    'new_password.required' => 'The new password field is required', 
    'new_password_confirmation.required' => 'Please repeat the new password', 
    'new_password.confirmed' => 'The new password confirmation does not match', 
]); 

關於rule-confirmed,希望它有助於

+0

不工作...未驗證 –