我想验证用户输入的电话号码,其号码应该是11,并以01开头,值字段应该只是数字.如何使用Laravel验证?
这是我的控制器:
public function saveUser(Request $request){
$this->validate($request,[
'name' => 'required|max:120',
'email' => 'required|email|unique:users',
'phone' => 'required|min:11|numeric',
'course_id'=>'required'
]);
$user = new User();
$user->name= $request->Input(['name']);
$user->email= $request->Input(['email']);
$user->phone= $request->Input(['phone']);
$user->date = date('Y-m-d');
$user->completed_status = '0';
$user->course_id=$request->Input(['course_id']);
$user->save();
return redirect('success');
}
Run Code Online (Sandbox Code Playgroud) 我想在用户提供错误输入时在View页面中显示验证错误.当用户提供错误的输入时,它不会在数据库中保存任何内容.但是在用户视图页面中没有错误消息.如果有人发现错误,请帮帮我.
这是控制器:
public function saveUser(Request $request){
$this->validate($request,[
'name' => 'required|max:120',
'email' => 'required|email|unique:users',
'phone' => 'required|min:11|numeric',
'course_id'=>'required'
]);
$user = new User();
$user->name= $request->Input(['name']);
$user->email= $request->Input(['email']);
$user->phone= $request->Input(['phone']);
$user->date = date('Y-m-d');
$user->completed_status = '0';
$user->course_id=$request->Input(['course_id']);
$user->save();
return redirect('success');
}
Run Code Online (Sandbox Code Playgroud)
这是路线:
Route::group(['middleware' => 'web'], function () {
Route::get('/', function () {
return view('index');
})->name('main');
Route::post('/saveUser',[
'uses' => 'AppController@saveUser',
'as'=>'saveUser',
]);
});
Run Code Online (Sandbox Code Playgroud)
这是刀片视图页面:
@extends('layouts.master')
@section('title')
Create User
@endsection
@section('content')
@include('partials.message-block')
<div class="container" >
<h3> Student Register </h3>
{!! Form::open(array('route' => 'saveUser','class'=>'form-horizontal','method'=>'POST')) !!} …Run Code Online (Sandbox Code Playgroud) 我试图在我的 sql 服务器上运行以下查询:
CREATE TABLE `e_store`.`products`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(250) NOT NULL ,
`brand_id` INT UNSIGNED NOT NULL ,
`category_id` INT UNSIGNED NOT NULL ,
`attributes` JSON NOT NULL ,
PRIMARY KEY(`id`) ,
INDEX `CATEGORY_ID`(`category_id` ASC) ,
INDEX `BRAND_ID`(`brand_id` ASC) ,
CONSTRAINT `brand_id` FOREIGN KEY(`brand_id`) REFERENCES `e_store`.`brands`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE ,
CONSTRAINT `category_id` FOREIGN KEY(`category_id`) REFERENCES `e_store`.`categories`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE
);
Run Code Online (Sandbox Code Playgroud)
我的 e_store 数据库中已经有品牌和类别表。
但我收到以下错误:
#1064 - You have …Run Code Online (Sandbox Code Playgroud) 我想在文本框中的下拉列表中选择一个值后加载一些ajax数据.
例如:从下拉列表中选择教师后,应加载教师剩余学分和credit_taken值.我如何用ajax做到这一点?
注意:此处教师值已从Ajax中的另一个下拉列表中选择
<script>
$('#teacher').on('change',function(e){
var teach_id = $('#teacher option:selected').attr('value');
var info=$.get("{{url('ajax-teach')}}",{teach_id:teach_id});
info.done(function(data){
$.each(data,function(index,subcatObj){
/// Here will be the loaded code ///
});
});
info.fail(function(){
alert('ok');
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这是我的控制器:
Route::get('ajax-teach',function(Request $request){
$teach_id = $request::input(['teach_id']);
$teachers=\App\Teacher::where('teacher_id','=',$teach_id)->get();
return Response::json($teachers);
});
Run Code Online (Sandbox Code Playgroud)
这是视图页面:
<div class="form-group">
<label for="">Teacher</label>
<select class="form-control input-sm" required name="teacher_id" id="teacher" >
<option value=""></option>
</select>
</div>
<div class="form-group">
<label>Credit to be Taken</label>
<input type="text" name="credit_taken" id="credit_taken" class="form-control" required placeholder="Credit to be Taken">
</div>
<div class="form-group">
<label>Remaining Credit</label> …Run Code Online (Sandbox Code Playgroud) 我想在会话中存储一些数据用于某些测试目的.我也在控制器中编写了会话代码.但是在console.log - > resources - > session中我找不到任何存储的值.如果有人帮我找到我在控制器中所犯的错误,请.
这是我的控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Department;
use App\Http\Requests;
use Cookie;
use Tracker;
use Session;
public function postdepartmentSave(Request $request)
{
$this->validate($request,[
'code' => 'required|min:2|max:7|unique:departments',
'name' => 'required|unique:departments',
]);
$department = new Department();
$department->code = $request->Input(['code']);
$department->name = $request->Input(['name']);
$name= $department->name;
Session::put('name', $name);
dd($name);
$department->save();
return redirect('departmentSavePage');
}
Run Code Online (Sandbox Code Playgroud) 我的引导模式已放置在仪表板中。我将填充模式的按钮放置在另一个页面中,并在那里扩展了仪表板。\n当我点击不同的产品 ID 按钮时,产品相关信息应该以模式出现。我的问题是如何使其动态。意味着引导模式将根据我单击以快速查看的产品进行填充。
\n\n**button for quick view in index.blade.php :**\n\n<div class="btn-quickview"> \n <a href="#" data-toggle="modal" data-target="#modal-quickview">\n <i class="fa fa-search-plus" aria-hidden="true">\n </i> Quick View\n </a> \n</div>\n\n **Modal placed in dashboard.blade.php**\n\n<div id="modal-quickview" class="modal fade" role="dialog">\n <div class="modal-dialog">\n <div class="modal-body">\n <button type="button" class="close myclose" data-dismiss="modal">\xc3\x97</button>\n <div class="product-view-area"> \n <div class="col-xs-12 col-sm-7 col-lg-7 col-md-7 product-details-area">\n <div class="product-name">\n <h2>Lorem Ipsum is simply</h2>\n </div>\n <div class="price-box">\n <p class="special-price"> <span class="price-label">Special Price</span> <span class="price"> $329.99 </span> </p>\n <p class="old-price"> <span class="price-label">Regular Price:</span> <span class="price"> $359.99 </span> …Run Code Online (Sandbox Code Playgroud) 在我的控制器中,我试图更新我的产品,这里的产品名称是唯一的,在这里我只想更新价格。所以名称将是它,但因为我将名称定义为唯一字段,尽管我没有更改名称,但由于该名称已存在,它会引发唯一名称验证错误。当我不更新唯一值时,如何忽略该验证请求?
public function update(Request $request, $id)
{
$this->validate($request, [
'name'=> 'required|unique:products,'.$id,
]);
$product= Product::find($id);
$product->name = Input::get('name');
$product->price = Input::get('price');
$product->save();
}
Run Code Online (Sandbox Code Playgroud) 我想检查刀片中是否存在变量..为此,我使用了以下几行:
@if(is_null($products))
<div class="alert alert-warning">
<strong>Sorry!</strong> No Product Found.
</div>
@else
@foreach($products as $product)
//
@endforeach
@endif
Run Code Online (Sandbox Code Playgroud)
问题是当$products刀片上有时,我可以在foreach循环内显示,但是当我得到空变量时。我无法显示消息,No Data Found而是只显示空白空间?检查刀片内部的变量有什么问题吗?
控制器代码:
public function productSearch(Request $request)
{
$name = $request->name;
$products = Product::where('name' , 'like', '%'.$name.'%')->get();
return view('cart.product',compact('products'));
}
Run Code Online (Sandbox Code Playgroud) 我有两个模型:1.课程.2.费用.
一门课程只收一费.虽然提供输入完全没问题但是当我试图访问费用数据时,它在费用列中没有显示任何内容.我该如何解决?
课程模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Course extends Model
{
protected $table='courses';
protected $fillable = ['name'];
public function fee(){
return $this->belongsTo('App\Fee');
}
}
Run Code Online (Sandbox Code Playgroud)
费用型号:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Fee extends Model
{
protected $table='fees';
protected $fillable = ['fee','course_id'];
public function course()
{
return $this->hasOne('App\Course');
}
}
Run Code Online (Sandbox Code Playgroud)
控制器:
public function listofCourse(){
$course=\App\Course::all();
return view('listofCourse',compact('course'));
}
Run Code Online (Sandbox Code Playgroud)
查看页面:
<html>
<head>
<title> Course Details </title>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
</head>
<body>
<div class="container">
<h3> …Run Code Online (Sandbox Code Playgroud) 我有一个购物车产品页面,如果有人点击产品添加到购物车按钮,他们将被重定向到登录页面.
成功登录后,我需要再次将用户发回相同的产品页面.
我在登录控制器中使用了以下方法.
但它并没有按照我想要的方式运作.意味着它再次重定向到索引页面,我也使用了return redirect()->back();..但是没有解决问题
if (auth()->attempt(array('email' => $request->input('email'),
'password' => $request->input('password')))){
if(Auth::user()->name == 'Admin'){
return redirect()->to('home');
}
else{
// return redirect()->back();
return redirect()->intended('/');
}
}
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
laravel ×9
php ×9
laravel-5 ×5
laravel-5.2 ×4
jquery ×2
ajax ×1
eloquent ×1
mariadb ×1
one-to-one ×1
session ×1
sql ×1
validation ×1