Laravel5:用Javascript验证表单的最佳方法

我想在Laravel的客户端验证表单。有什么简单的方法吗

您可以使用Laravel 5 Javascript验证包。此包基于JQuery验证插件在视图中启用透明Javascript Valditaion

这是如何在控制器中重用验证规则的基本示例

PostController.php

名称空间应用程序\Http\Controllers;
类后控制器扩展控制器{
/**
*在中的属性中定义验证规则
*控制器将重新使用这些规则。
*/
受保护的$validationRules=[
“title”=>“必需|唯一|最大值:255”,
“正文”=>“必需”
];
/**
*显示博客文章的编辑表单
*我们基于共享验证规则创建一个JsValidator实例
*@param string$post_id
*@返回响应
*/
公共功能编辑($post\u id)
{
$validator=JsValidator::make($this->validationRules);
$post=post::find($post\u id);
返回视图('edit_post')->带有([
“验证器”=>$validator,
“post”=>$post
]);
}
/**
*存储传入的博客文章。
*@param Request$Request
*@返回响应
*/
公共函数存储(请求$Request)
{
$v=Validator::make($request->all(),$this->validationRules]);
如果($v->失败())
{
return redirect()->back()->withErrors($v->errors());
}
//储存物品
}
}

在视图中,您只需打印传递给视图的验证程序对象记住这个包依赖于JQuery和
在此之前必须包含jsvalidation.js

编辑_post.blade.php

<div class=“container”>
<div class=“行”>
<div class=“col-md-10 col-md-offset-1”>
<form class=“form horizontal”role=“form”method=“POST”action=”“id=“ddd”>
<div class=“表单组”>
<label class=“col-md-4控制标签”>标题&lt/标签>
<div class=“col-md-6”>
<输入type=“text”class=“form control”name=“title”>
&lt/部门>
&lt/部门>
<div class=“表单组”>
<label class=“col-md-4控制标签”>数组&lt/标签>
<div class=“col-md-6”>
<textarea name=“body”&gt&lt/textarea>
&lt/部门>
&lt/部门>
&lt/表格>
&lt/部门>
&lt/部门>
&lt/部门>
<!--脚本-->
<脚本src=”https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js“&gt&lt/脚本>
<脚本src=”https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js“&gt&lt/脚本>
<!--Laravel Javascript验证-->
<script type=“text/javascript”src=”https://stackoverflow.com/questions/28762376/{{asset('vendor/jsvalidation/js/jsvalidation.js')}}&lt/脚本>
{!!$validator!!}

发表评论