創建路由
Route::get('test','VerController@index'); Route::post('tosubmit','VerController@tosubmit');
在控制器中編輯代碼
class VerController extends Controller { //表單頁面 public function index() { return view('from.from'); } //表單提交驗證 //這種是用自帶的Request進行驗證 // public function tosubmit(Request $request) // { // $this->validate($request, [ // 'title'=>'required', // 'content'=>'required|min:10' // ]); // return 'success'; // } //這種是用自己寫的Request,用php artisan make:request FromRequest生成 public function tosubmit(Requests\FromRequest $request) { return 'success'; } }
FromRequest
public function authorize() { //別問為什么,就是要返回true return true; } public function rules() { return [ //這里寫規則 'title'=>'required', 'content'=>'required|min:10' ]; }
自定義錯誤信息(設置成中文)
把en文件夾復制一份重命名為cn
然后在/config/app.php下修改
第二種:
直接在Controller里面定義規則和錯誤信息
public function yanzhen() { $input = Input::except('_token'); $relus = [ //規則 'name'=>'required|min:5' ]; $message = [ //錯誤信息 'name.required' => '不能為空', 'name.min' => '最少5個字符' ]; //這里參數必須按照順序(驗證的內容,規則,錯誤信息) $vail = Validator::make($input,$relus,$message); if ($vail->passes()){ return '通過驗證'; } else { //這里傳入的是變量 return back()->withErrors($vail); } }
View:
<body> <div class="container"> @if(count($errors)>0) @if(is_object($errors)) {{--這里一定要獲取$error->all()--}} @foreach($errors->all() as $error) {{ $error }} @endforeach @endif @endif {{ Form::open(['url'=>url("yanzhen")]) }} {{ Form::text('name') }} {{ Form::submit('提交') }} {{ Form::close() }} </div> </body>