Laravel -view與Controller參數傳遞與回應

Laravel -view與Controller參數傳遞與回應

前台網頁的操作不外乎就是靜態頁面view,下操作後
將參數傳遞給Controller(邏輯)判斷後發送給api,
得到回應結果,再將結果整理丟給view過程


以下實作view與Controller傳遞參數簡單範例


這邊簡單做一個login
1.在view準備一個叫loginEx.blade.php
尾巴有blade字眼才可使用Laravel自訂義一些方法
像底下代碼form改由{{ Form::open(array 就是
<html>
<head>
   
</head>
<body>

{{  Form::open(array('action'=>'LoginCheckController@check', 'method' => 'post')) }}     
<div >
    <div>   
    account:<input type="text"    class="form-control" id=""                      name="acc"/>
    pwd:    <input type="password" class="form-control" id="exampleInputPassword1" name="pwd"/>
    <button type="submit" class="btn btn-default">Submit</button>   
    </div>
</div>
{{ Form::close() }}

<!--  input type 屬性可參考  -->
<!--  http://www.w3schools.com/tags/att_input_type.asp   -->
<?php

    $msg = Session::get('msg');


    if( $msg =="Success")     {
        echo "loginSuccess";     }
    if( $msg =="Fail")     {   
        echo "something wrong";     }
    if (Session::has('message'))
    {
        Session::forget('message');
    }
?>
</body>
</html> 


{{  Form::open(array('action'=>'LoginCheckController@check
是Laravel自訂義方法呼叫 Controller中的方法,將原本form中的name參數帶入
,而待會從 Controller回傳回來時是以session型態回傳


2.在Controller準備一隻叫 LoginCheckController.php
<?php

class LoginCheckController extends BaseController {


   
    public function check()
    {
       
       
/*         $acc = Input::get("acc");
           $pwd = Input::get("pwd"); */
       
         $rules = array(
                'acc'    => 'required|alphaNum|min:5',
                'pwd'    => 'required|alphaNum|min:6'
        );
   
       
        $validator = Validator::make(Input::all(), $rules);
       
        if ($validator->fails()) {
           
            $output = "Fail";
            return Redirect::to('loginEx')->with('msg', $output);
           
        }else{
           
            /* {....call login api } */
            $success = true;
            if($success)
            {
                $output = "Success";
                return Redirect::to('loginEx')->with('msg', $output);
            }else{
                $output = "Fail";
                return Redirect::to('loginEx')->with('msg', $output);
            }
           
           
        } 


Controller接值使用Input::get("acc");
 並且對 所有Input參數做驗證 Validator::make(Input::all()
required|alphaNum|min:5
 意義為必要輸入,且為字母數字,最小長度5

 判斷成功與否會透過br /> return Redirect::to('loginEx')->with('msg', $output);
 將結果回應至目標頁面

沒有留言:

張貼留言