【发布时间】:2021-05-23 23:54:28
【问题描述】:
我是 livewire 的新手。我正在处理用户的注册过程。注册表非常大,验证对我来说也很好。问题是当用户提交表单验证时,用户看不到,因为提交按钮在底部,表单在顶部。
当我手动滚动到顶部时,正在显示错误消息。所以当用户提交表单时我想要什么,它会自动转到第一条错误消息。这是我的代码:
<form wire:submit.prevent="userRegister">
<div class="row">
<div class="col-md-3">
<label>First Name *</label>
</div>
<div class="col-md-9">
<input type="text" wire:model="register.first_name" placeholder="Enter First Name" required>
@error('register.first_name') <span class="text-danger">{{ $message }}</span> @enderror
</div>
</div>
<div class="row">
<div class="col-md-3">
<label>Last Name *</label>
</div>
<div class="col-md-9">
<input type="text" wire:model="register.last_name" placeholder="Enter Last Name">
@error('register.last_name') <span class="text-danger">{{ $message }}</span> @enderror
</div>
</div>
<div class="row">
<div class="col-md-3">
<label>Test 1 Name *</label>
</div>
<div class="col-md-9">
<input type="text" wire:model="register.test1_name" placeholder="Enter Last Name">
</div>
</div>
<div class="row">
<div class="col-md-3">
<label>Test 2 Name *</label>
</div>
<div class="col-md-9">
<input type="text" wire:model="register.test2_name" placeholder="Enter Last Name">
</div>
</div>
<div class="row">
<div class="col-md-3">
<label>Test 3 Name *</label>
</div>
<div class="col-md-9">
<input type="text" wire:model="register.test3_name" placeholder="Enter Last Name">
</div>
</div>
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-9">
<!--<input type="submit" value="Edit" class="edt-sb">-->
<input wire:click="userRegister" type="submit" value="Submit" class="edt-sv">
</div>
</div>
</form>
我的注册.php
<?php
namespace App\Http\Livewire;
use Livewire\Component;
class Register extends Component
{
public $register;
protected $rules = [
'register.first_name' => 'bail|required|max:50',
'register.last_name' => 'bail|required|max:50',
];
protected $messages = [
'register.first_name.required' => 'Please enter first name',
];
public function userRegister(){
$this->validate();
}
我希望当用户提交表单时,它会立即滚动到第一条错误消息。目前我的验证工作对我来说很完美。我需要使用高山js吗?为此。
【问题讨论】:
标签: laravel laravel-7 laravel-livewire alpine.js