独特的验证在laravel 5.4中不起作用

时间:2017-05-18 17:34:20

标签: php laravel-5

我正在使用laravel 5.4进行验证。

当我点击提交按钮时,只有所需的验证有效,但不是唯一的。

我做错了什么,如何修复它以使其按预期工作?

以下是我的表单(位于home.blade.php):

<div class="panel-body">
    <form class="form form-control" action="/todo" method="post">
        {{csrf_field()}}
        <fieldset class="form-group">
            <textarea class="form-control" name="textbox" id="textArea"></textarea>
            <button type="submit" class="btn btn-primary">Submit</button>
        </fieldset>
    </form>
    {{-- for dispaying the error --}}
    @if (count($errors) >0)
        {{-- expr --}}
        @foreach ($errors->all() as $error)
            <h3 class="text-danger">{{$error}}</h3>
        @endforeach
    @endif
</div>

这里,我的Todo控制器的内容(在我的todocontroller.php文件中):

use Illuminate\Http\Request;
use App\todo;
public function store(Request $request)
{
    $todo = new todo;
    $todo->body = $request->textbox;
    $this->validate($request,[
        "body" => "required|unique:todos"
    ]);
    $todo->save();
    return redirect('/todo');
}

1 个答案:

答案 0 :(得分:0)

您应该只使用该字段的名称;你不需要给自己压力。

请看下面的代码段:

<?php

namespace App\Http\Controllers;
use App\Todo;// following Laravel's standards, your model name should be Todo; not todo
use Illuminate\Http\Request;

class NameOfYourTodoController extends Controller
{

    public function store(Request $request)
    {
        $todo = new Todo();

        // use the name of the field directly (here, textbox)
        $this->validate($request, [
            'textbox' => 'required|unique:todos'
        ]);

        // other code logics here.
    }
}