唯一的验证规则至少需要 1 个参数。 Unique/require参数问题
Validation rule unique requires at least 1 parameters. Unique/require parameter problem
我在 laravel 7 验证中遇到问题。
这很奇怪(对我来说)因为我什至没有使用唯一验证,我使用了必需的验证
这是我的表单代码
@extends('layouts.admin-app')
@section('content')
<!-- Page Content -->
<div id="page-content-wrapper">
<!--NAVIGATION-->
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item" aria-current="page">Tenant</li>
<li class="breadcrumb-item active" aria-current="page">Crear</li>
</ol>
</nav>
<!--END NAVIGATION-->
<form action="{{ route('admin.tenant.create') }}" method="POST">
@csrf
<h2>Datos del cliente</h2>
<div class="row">
<div class="col-xs-3 col-sm-3 col-md-3">
<div class="form-group">
<label for="nameform">Nombre</label>
<input type="text" name="name" class="form-control" placeholder="Nombre">
@error('name')
<span class="invalid-feedback" role="alert">
<small>{{ $message }}</small>
</span>
@enderror
</div>
</div>
<div class="col-xs-3 col-sm-3 col-md-3">
<div class="form-group">
<label for="middleform">Segundo nombre</label>
<input type="text" name="middlename" class="form-control" placeholder="Segundo nombre">
</div>
</div>
<div class="col-xs-3 col-sm-3 col-md-3">
<div class="form-group">
<label for="lastnameform">Apellido paterno</label>
<input type="text" name="lastname" class="form-control" placeholder="Apellido paterno" required>
@error('lastname')
<span class="invalid-feedback" role="alert">
<small>{{ $message }}</small>
</span>
@enderror
</div>
</div>
<div class="col-xs-3 col-sm-3 col-md-3">
<div class="form-group">
<label for="lastname2form">Apellido materno</label>
<input type="text" name="msurname" class="form-control" placeholder="Apellido materno">
@error('msurname')
<span class="invalid-feedback" role="alert">
<small>{{ $message }}</small>
</span>
@enderror
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-4">
<div class="form-group">
<label for="emailForm">Correo electrónico</label>
<input type="email" class="form-control" id="emailForm" name="email" placeholder="name@example.com" required>
</div>
</div>
<div class="col-xs-4 col-sm-4 col-md-4">
<div class="form-group">
<label for="rutForm">Rut</label>
<input type="text" class="form-control" id="rut" name="rut" required placeholder="ex. 1.111.111-1">
@error('rut')
<span class="invalid-feedback" role="alert">
<small>{{ $message }}</small>
</span>
@enderror
</div>
</div>
<div class="col-xs-4 col-sm-4 col-md-4">
<div class="form-group">
<label for="directionForm">Dirección</label>
<input type="text" class="form-control" id="directionForm" name="direction" required>
@error('direction')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
<small id="directionHelp" class="form-text text-muted">Nombre de calle y número. Ej. Av.Vicuña Mackenna 333.</small>
</div>
</div>
</div>
<h2>Datos Tienda</h2>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<label for="subdomain">Nombre Subdominio</label>
<input type="text" name="subdomain" class="form-control" placeholder="Nombre del subdominio" required>
@error('subdomain')
<span class="invalid-feedback" role="alert">
<small>{{ $message }}</small>
</span>
@enderror
</div>
</div>
</div>
<br>
<div class="col-xs-12 col-sm-12 col-md-12 text-center">
<button type="submit" class="btn btn-primary">Enviar</button>
</div>
</div>
</form>
</div>
@endsection
这是函数
public function create(Request $request)
{
//Receive data
$request->validate([
'name' => 'required|max:20',
'middlename'=>'required|max:20|alpha',
'lastname'=>'required|max:20|alpha',
'rut'=>'required|max:13',
'direction'=>'required|alpha_num',
'email'=>'required|unique|max:50',
'subdomain'=>'required:50',
]);
$rut = $request->rut;
$url_base = config('app.url_base');
$subdomain = $request->subdomain;
$name = $request->name;
$email = $request->email;
$fqdn = "{$subdomain}.{$url_base}";
//otros datos
$middlename = $request->middlename;
$lastname = $request->lastname;
$msurname = $request->msurname;
$direction = $request->direction;
try {
// Validate the value...
if ( $this->tenantExists( $fqdn ) ) {
// abort with an error
return;
}
} catch (Throwable $e) {
report($e);
return false;
}
//create website
$website = new Website;
$website->uuid = Str::random(20);
app(WebsiteRepository::class)->create($website);
$hostname = new Hostname;
$hostname->fqdn = $fqdn;
$hostname = app(HostnameRepository::class)->create($hostname);
app(HostnameRepository::class)->attach($hostname, $website);
//Enviar
// create a new user
$password = Str::random(10);
$user = User::create([
'name' => $name,
'email' => $email,
'password' => Hash::make( $password )
]);
$user->save();
//create a client
$client = Client::create([
'name' => $name,
'middlename'=>$middlename,
'lastname'=>$lastname,
'msurname'=>$msurname,
'email' => $email,
'rut'=>$rut,
'direction'=>$direction,
]);
$client->save();
$record= new Record;
$record->client_id = $client->id;
$record->hostname_id = $hostname->id;
$record->website_id = $website->id;
$client->record()->associate($record);
$record->save();
//Records
return redirect('admin/tenants')->with('success', 'Se ha creado un tenant');
}
参数有问题,但(再次)我总是这样进行验证,我以前从未出错。你能帮助我吗?
改变
'email'=>'required|unique|max:50'
到
'email'=>'required|unique:users,email|max:50'
(如果您需要独特的 User
和 Client
电子邮件,请同时添加:unique:users,email|unique:clients,email
)
我在 laravel 7 验证中遇到问题。 这很奇怪(对我来说)因为我什至没有使用唯一验证,我使用了必需的验证 这是我的表单代码
@extends('layouts.admin-app')
@section('content')
<!-- Page Content -->
<div id="page-content-wrapper">
<!--NAVIGATION-->
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item" aria-current="page">Tenant</li>
<li class="breadcrumb-item active" aria-current="page">Crear</li>
</ol>
</nav>
<!--END NAVIGATION-->
<form action="{{ route('admin.tenant.create') }}" method="POST">
@csrf
<h2>Datos del cliente</h2>
<div class="row">
<div class="col-xs-3 col-sm-3 col-md-3">
<div class="form-group">
<label for="nameform">Nombre</label>
<input type="text" name="name" class="form-control" placeholder="Nombre">
@error('name')
<span class="invalid-feedback" role="alert">
<small>{{ $message }}</small>
</span>
@enderror
</div>
</div>
<div class="col-xs-3 col-sm-3 col-md-3">
<div class="form-group">
<label for="middleform">Segundo nombre</label>
<input type="text" name="middlename" class="form-control" placeholder="Segundo nombre">
</div>
</div>
<div class="col-xs-3 col-sm-3 col-md-3">
<div class="form-group">
<label for="lastnameform">Apellido paterno</label>
<input type="text" name="lastname" class="form-control" placeholder="Apellido paterno" required>
@error('lastname')
<span class="invalid-feedback" role="alert">
<small>{{ $message }}</small>
</span>
@enderror
</div>
</div>
<div class="col-xs-3 col-sm-3 col-md-3">
<div class="form-group">
<label for="lastname2form">Apellido materno</label>
<input type="text" name="msurname" class="form-control" placeholder="Apellido materno">
@error('msurname')
<span class="invalid-feedback" role="alert">
<small>{{ $message }}</small>
</span>
@enderror
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-4">
<div class="form-group">
<label for="emailForm">Correo electrónico</label>
<input type="email" class="form-control" id="emailForm" name="email" placeholder="name@example.com" required>
</div>
</div>
<div class="col-xs-4 col-sm-4 col-md-4">
<div class="form-group">
<label for="rutForm">Rut</label>
<input type="text" class="form-control" id="rut" name="rut" required placeholder="ex. 1.111.111-1">
@error('rut')
<span class="invalid-feedback" role="alert">
<small>{{ $message }}</small>
</span>
@enderror
</div>
</div>
<div class="col-xs-4 col-sm-4 col-md-4">
<div class="form-group">
<label for="directionForm">Dirección</label>
<input type="text" class="form-control" id="directionForm" name="direction" required>
@error('direction')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
<small id="directionHelp" class="form-text text-muted">Nombre de calle y número. Ej. Av.Vicuña Mackenna 333.</small>
</div>
</div>
</div>
<h2>Datos Tienda</h2>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<label for="subdomain">Nombre Subdominio</label>
<input type="text" name="subdomain" class="form-control" placeholder="Nombre del subdominio" required>
@error('subdomain')
<span class="invalid-feedback" role="alert">
<small>{{ $message }}</small>
</span>
@enderror
</div>
</div>
</div>
<br>
<div class="col-xs-12 col-sm-12 col-md-12 text-center">
<button type="submit" class="btn btn-primary">Enviar</button>
</div>
</div>
</form>
</div>
@endsection
这是函数
public function create(Request $request)
{
//Receive data
$request->validate([
'name' => 'required|max:20',
'middlename'=>'required|max:20|alpha',
'lastname'=>'required|max:20|alpha',
'rut'=>'required|max:13',
'direction'=>'required|alpha_num',
'email'=>'required|unique|max:50',
'subdomain'=>'required:50',
]);
$rut = $request->rut;
$url_base = config('app.url_base');
$subdomain = $request->subdomain;
$name = $request->name;
$email = $request->email;
$fqdn = "{$subdomain}.{$url_base}";
//otros datos
$middlename = $request->middlename;
$lastname = $request->lastname;
$msurname = $request->msurname;
$direction = $request->direction;
try {
// Validate the value...
if ( $this->tenantExists( $fqdn ) ) {
// abort with an error
return;
}
} catch (Throwable $e) {
report($e);
return false;
}
//create website
$website = new Website;
$website->uuid = Str::random(20);
app(WebsiteRepository::class)->create($website);
$hostname = new Hostname;
$hostname->fqdn = $fqdn;
$hostname = app(HostnameRepository::class)->create($hostname);
app(HostnameRepository::class)->attach($hostname, $website);
//Enviar
// create a new user
$password = Str::random(10);
$user = User::create([
'name' => $name,
'email' => $email,
'password' => Hash::make( $password )
]);
$user->save();
//create a client
$client = Client::create([
'name' => $name,
'middlename'=>$middlename,
'lastname'=>$lastname,
'msurname'=>$msurname,
'email' => $email,
'rut'=>$rut,
'direction'=>$direction,
]);
$client->save();
$record= new Record;
$record->client_id = $client->id;
$record->hostname_id = $hostname->id;
$record->website_id = $website->id;
$client->record()->associate($record);
$record->save();
//Records
return redirect('admin/tenants')->with('success', 'Se ha creado un tenant');
}
参数有问题,但(再次)我总是这样进行验证,我以前从未出错。你能帮助我吗?
改变
'email'=>'required|unique|max:50'
到
'email'=>'required|unique:users,email|max:50'
(如果您需要独特的 User
和 Client
电子邮件,请同时添加:unique:users,email|unique:clients,email
)