larave5 中表单验证

ixibei 发表于 分类:Php / laravel 阅读(2309) 评论(0)

简介:

laravel官网的手册总是讲得让人雾里看花,似懂非懂,下面将由我来介绍一下laravel5的表单验证。1. 例如我们有news这个表,我们希望在新建数据的时候做一个验证,为空,或者标题长度太短都不能通过验证。2. 我们创建一个验证器 ph…

laravel官网的手册总是讲得让人雾里看花,似懂非懂,下面将由我来介绍一下laravel5的表单验证。

1. 例如我们有news这个表,我们希望在新建数据的时候做一个验证,为空,或者标题长度太短都不能通过验证。

2. 我们创建一个验证器 php artisan make:Request NewsRulesRequest;

3. 我们会发现Request文件夹中会生成 NewsRulesRequest.php这个文件 并且这两个文件中有两个方法

 /**

* 这个方法若返回true则代表着不需要用户验证

*/

 public function authorize()

    {

        return true;

    }


    /**

    * 写好相应的规则 可用规则参考 http://www.golaravel.com/laravel/docs/5.0/validation/

     */

    public function rules()
    {
        return [
            'name'=>'required|min:3',
            'url'=>'required|min:3',
        ];
    }


4. 接下来是我们如何使用这个验证文件,例如我们controller 中有一个postNews 方法

        use App\Http\Requests\NavRulesRequest;//引用这个验证文件

        //在发放中直接指明$request 类型,并且使用$request 接受所有数据即可自动验证

function postNews(NavRulesRequest $request){

$data = $request->all();

$flag = News::create($data);

$backurl = "news/add-news";

if($flag) return \Redirect::to($backurl)->with('status', '添加成功!');

else return \Redirect::to($backurl)->with('status','添加失败!');

}


5. 显示错误信息

  @if ($errors->any())

        <div class="alert alert-danger">

            @foreach($errors->all() as $error)

                <p>{{ $error }}</p>

            @endforeach

        </div>

    @endif


6. 现在的提示是英文状态的,可以更改为中午状态的,修改config/app.php 中的"locale"=>zh"; 然后在 resources/lang下新建文件夹zh 拷贝resources/lang/en/validation.php 文件到 zh 目录下 更换位对应的中文就可以了


7. 当然我们可以不用新建一个文件,直接在postAddNav中直接使用 Validate也可以(确实父类中是存在使用了这个 use Illuminate\Foundation\Validation\ValidatesRequests;

)

       function postNews(Request $request){

                $this->validate($request,['newstitle'=>'required|min:3']); 

$data = $request->all();

$flag = News::create($data);

$backurl = "news/add-news";

if($flag) return \Redirect::to($backurl)->with('status', '添加成功!');

else return \Redirect::to($backurl)->with('status','添加失败!');

}


结束语

本文有任何错误,或有任何疑问,欢迎留言说明。

下一篇:  >>

本站文章除注明转载外,均为原创文章,会经常更新知识点以及修正一些错误,因此转载请保留原出处,方便溯源,避免陈旧错误知识的误导,同时有更好的阅读体验。

http://www.onephper.com/archive/7.html

相关推荐

评论

回复给XXX取消回复

说点什么吧...

网友最新评论

输入关键字