簡體   English   中英

Parsley.js和Laravel表單驗證錯誤

[英]Parsley.js and Laravel Form Validation Errors

我正在使用parsley.js進行客戶端驗證 ,還希望將其用於服務器端驗證(Laravel Form Validator),以使用parsley樣式顯示錯誤。 使其均勻。

因此,每當服務器端驗證失敗時,我都希望顯示與正確字段相關的特定錯誤。 我不想使用遠程庫。

有示例如何執行此操作嗎?

鏈接到: Laravel ValidatorParsley

非常感謝你!

您可以執行以下操作:

<div>
    {{ Form::open(['route' => 'dashboard.testform', 'id' => 'testForm']) }}
    <div class="form-group row">
        {{ Form::label('field1',
            'Field 1',
            ['class' => 'col-xs-2']
        ) }}
        <div class="col-xs-10">
            <?= Form::text('field1', null, ['class' => 'col-xs-12 required ' . ($errors->has('field1') ? 'parsley-error' : '') ]) ?>
            @if ($errors->has('field1'))
                <ul class="parsley-errors-list filled">
                    {{ $errors->first('field1', '<li class="parsley-required">:message</li>') }}
                </ul>
            @endif
        </div>
    </div>
    <div class="form-group row">
        {{ Form::label('field2', 'Field 2', ['class' => 'col-xs-2']) }}
        <div class="col-xs-10">
            <?= Form::text('field2', null, ['class' => 'col-xs-12 ' . ($errors->has('field2') ? 'parsley-error' : '') ]) ?>
            @if ($errors->has('field2'))
                <ul class="parsley-errors-list filled">
                    {{ $errors->first('field2', '<li class="parsley-required">:message</li>') }}
                </ul>
            @endif
        </div>
    </div>
    <div class="form-group row">
        {{ Form::label('field3', 'Field 3', ['class' => 'col-xs-2']) }}
        <div class="col-xs-10">
            <?= Form::text('field3', null, ['class' => 'col-xs-12 required ' . ($errors->has('field3') ? 'parsley-error' : '') ]) ?>
            @if ($errors->has('field3'))
                <ul class="parsley-errors-list filled">
                    {{ $errors->first('field3', '<li class="parsley-required">:message</li>') }}
                </ul>
            @endif
        </div>
    </div>
    {{ Form::submit('Submit form', ['class' => 'btn btn-primary']) }}
    {{ Form::close() }}
</div>

{{ HTML::style('http://parsleyjs.org/src/parsley.css') }}
{{ HTML::script('http://code.jquery.com/jquery-1.11.1.min.js') }}
{{ HTML::script('http://parsleyjs.org/dist/parsley.min.js') }}

<script type="text/javascript">
    $(document).ready(function() {
        $("#testForm").parsley();
    });
</script>

您的控制器將如下所示:

public function testform() {
    $rules = array(
        'field1' => 'date',
        'field2' => 'required'
    );

    $validator = Validator::make(
        Input::all(),
        $rules
    );
    if ($validator->fails()) {
        return Redirect::back()->withErrors($validator);
    }

    return Redirect::back();
}

創建一個自定義的Form Macro (回顯輸入和錯誤)(如果存在)可能是一個好主意。 這樣,您的視圖得以簡化。

暫無
暫無

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

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