网站首页 > 技术文章 正文
摘要:表单是开发中比较常见的组件,为了保障数据输入的有效性,需要进行一系列验证,验证有前端验证和后端验证。这节我们来学习后端验证。
这一节我们来学习表单,
1、验证的介绍
Laravel 不仅提供了几种不同的方法来验证传入应用程序的数据,其中最常见的做法是在所有传入的 HTTP 请求中使用 validate 方法,而且Laravel 包含了各种方便的验证规则,你可以将它们应用于数据,甚至可以验证给定数据库表中的值是否唯一。
2、验证的准备工作
现在我们来做一个表单:
首先在控制器UserController.php中添加此方法
//表单验证
public function testYz()
{
return View('test');
}
然后创建一个视图:
<form action="" method="post">
<ul>
<li>
@csrf
</li>
<li>姓名:<input type="text" name="username" value=""></li>
<li>年龄:<input type="number" name="age" value=""></li>
<li><input type="submit" value="提交"></li>
</ul>
</form>
在路由文件web.php中添加:
//表单验证
Route::any('test-yz',[UserController::class,'testYz']);
启动服务:php artisan serve
在浏览器中打开http://127.0.0.1:8000/test-yz进行验证
表单已经准备好,接下来写验证代码,在控制器UserController.php中添加
//表单验证
public function testYz(Request $request)
{
if ($request->isMethod('post')) {
$validated = $request->validate([
//表示必填,长度在2-30
'username' => 'required|min:2|max:30',
//表示必填,整数,范围1-120
'age' => 'required|min:1|max:120|integer',
]);
$input = $request->all();
var_dump($input);exit;
}
return View('test');
}
在视图test.blade.php中添加:
//表单验证
public function testYz(Request $request)
{
if ($request->isMethod('post')) {
$validated = $request->validate([
//表示必填,长度在2-30
'username' => 'required|min:2|max:30',
//表示必填,整数,范围1-120
'age' => 'required|min:1|max:120|integer',
]);
$input = $request->all();
var_dump($input);exit;
}
return View('test');
}
在浏览器中打开http://127.0.0.1:8000/test-yz验证:
如果都不填,提交:
发现验证是有效果的,单填姓名:
提交:
两个都填:
发现是通过的,这一节就介绍到这里了。
猜你喜欢
- 2024-11-17 fastapi+vue3文件上传(vue ftp上传)
- 2024-11-17 从零开始构建PDF阅读器(最简单的pdf阅读器)
- 2024-11-17 Dooring可视化之从零实现动态表单设计器
- 2024-11-17 在 FastAPI 中处理表单和用户输入:综合指南
- 2024-11-17 第63节 Form表单-Web前端开发之JavaScript-王唯
- 2024-11-17 Gateway结合Sentinel1.8限流熔断及自定义异常
- 2024-11-17 手机网站常见问题总结(手机网站出现错误怎么办)
- 2024-11-17 CSS实现去除Input框默认样式的详细教程
- 2024-11-17 企业必备实战之Sentinel规则Nacos持久化
- 2024-11-17 禁用qq浏览器数字文本框 鼠标滚轮滑动 数字加减
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-