簡體   English   中英

使用 livewire 提交表單時漂白頁面

[英]Bleaching the page when submitting the form with livewire

在登錄表單中,我使用了 livewire,當我離開電話字段的焦點時,我的網頁是白色的

請幫助我謝謝<3

查看代碼:

<form wire:submit.prevent="login">
   <fieldset class="form-label-group form-group position-relative has-icon-left">
   <input wire:model.debounce.500ms="phone" type="text" class="form-control" id="phone" placeholder="شماره تماس">
   <div class="form-control-position">
       <i class="feather icon-phone"></i>
   </div>
   <label for="phone">شماره تماس</label>
   </fieldset>
   @error('phone') <span class="text-danger">{{ $message }}</span> @enderror

   <button type="submit" class="btn btn-primary float-left btn-inline" wire:click.prevent="login">ورود</button>
</form>

controller 代碼:

class 登錄擴展組件 { public $phone;

protected $rules = [
    'phone' => ['required', 'regex:/^09(1[0-9]|3[1-9]|2[1-9])-?[0-9]{3}-?[0-9]{4}$/', 'exists:users,phone']
];
public function updatedPhone($name)
{
    $this->validate($name);
}

public function login(Request $request)
{
    $validData = $this->validate();

    $user = User::wherePhone($validData['phone'])->first();
    dd($user);
    $request->session()->flash('auth', [
        'user_id' => $user->id,
        'remember' => $request->has('remember'),
    ]);

    $code = ActiveCode::generateCode($user);

    $user->notify(new ActiveCodeNotification($code, $user->phone));
    dd('done');
}

public function render()
{
    return view('livewire.auth.login')
            ->layout('livewire.auth.layouts.layouts');
}

}

您的 updatePhone 方法應該從與 wire:model 綁定的輸入中接收 $value ,因此您必須傳遞一個鍵值來驗證方法:

public function updatePhone($value)
{
  $this->validate($this->rules); // protected prop with key-value rules defined
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM