laravel框架——表单验证
创建路由
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>