在PHP中制作一个不需要提交表单的输入字段

问题描述 投票:0回答:1

我制作了这个“转账”表格,效果很好,但有一个评论部分,除非我也填写,否则我的不会提交,页面只会更新。

我该如何解决这个问题?

MainController.php
    public function transfer_money(Request $request) {
        $data = request()->validate([
            "amount" => 'string',
            'recepitent' => 'string',
            "comment" => 'string'
        ]);
        $recepitent = User::where('name', $data['recepitent'])->get()[0]->id;
        $sender = User::where('name', $request->user()->name)->get()[0]->id;
        $recepitentid = User::find($recepitent);
        $senderid = User::find($sender);
        if($senderid->balance >= $data['amount']) {
            $senderid->balance -= $data['amount'];
            $recepitentid->balance += $data['amount'];
            $senderid->save();
            $recepitentid->save();
        } else {
            dd(1);
        }
    }




web.php
    Route::post('/account/transfer', [MainController::class, 'transfer_money']);





transfer.blade.php

<form method="POST" action="transfer">
  @csrf
  <div class="section dark-bg">
    <div class="flex flex-row vert-center horiz-center">
      <input name="amount" class="borderless-input" id="amountinput" placeholder="Enter amount..." autocomplete="off" onkeypress='validate(event, this)'>
    </div>
    <p class="h2 mt mb10">Choose recepitent...</p>
    <select name="recepitent" id="recepitent-s" class="recepitent-select w100">
      @foreach($names as $name1) @if($name1->name != $currentname)
      <option>{{$name1->name}}</option>
      @endif @endforeach
    </select>
    <p class="h2 mt mb10">Payment purpose...</p>
    <textarea name="comment" class="text-input w100" maxlength="99" onkeypress="countChars(this, 'counter1', 100)"></textarea>
    <p class="right" id="counter1">100</p>
  </div>
  <div class="section">
    <button id="" class="anchor-button w100" type="submit">send money</button>
  </div>
</form>

谢谢你

php laravel laravel-blade
1个回答
0
投票

如果您对“评论”字段使用可为空规则,则该字段将是可选的,并且对于表单提交来说不是必需的。

public function transfer_money(Request $request) {
    $data = request()->validate([
        "amount" => 'required|string',
        'recepitent' => 'required|string',
        "comment" => 'nullable|string'
    ]);
© www.soinside.com 2019 - 2024. All rights reserved.