【发布时间】:2021-04-09 09:52:27
【问题描述】:
在 Blade 中,不显示单个 @error,但在 @foreach ($errors->all() as $error) 中显示所有错误。
这是验证
public function updateAthlete(){
$pass = Hash::make($this->password);
$info = Athlete::find($this->athlete_id);
if($this->profile_photo_path){
File::delete('storage/' . $this->filePath);
$this->filePath = $this->profile_photo_path->store('AthletesProfile', 'public');
}
$this->validate([
'name' =>'required|max:70|min:3',
'name_fa' =>'required|max:70|min:3',
'name_pa' =>'required|max:70|min:3',
]);
$info->update([
'name' => $this->name,
'name_fa' => $this->name_fa,
'name_pa' => $this->name_pa,
]);
session()->flash('updated', 'Post successfully updated.');
}
这是表格
<div class="form-group form-group-default">
<label>Name in Farsi</label>
<input type="text" class="form-control" dir="RTL" wire:model="name_fa">
@error('name_fa') <span class="error" style="color:red">{{ $message }}</span> @enderror
</div>
它没有在控制台中显示任何错误,或者它与样式无关
【问题讨论】:
-
这将工作
@if ($errors->has('name_fa')) <span class="error" style="color:red">{{ $errors->first('name_fa') }}</span> @endif -
那也没用
-
您需要将
Request对象传递给validate方法。
标签: laravel laravel-blade laravel-livewire