मैं लारवेल में एक फॉर्म बना रहा हूं जिसमें दो क्षेत्र हैं: departure-date और return-date। मैं कस्टम सत्यापन तर्क बनाने की कोशिश कर रहा हूं जहां प्रस्थान तिथि दर्ज की गई है जरूरी उसी दिन या किसी अन्य तारीख को उपयोगकर्ता द्वारा फॉर्म भरने के बाद होना चाहिए। return-date, departure date के बाद भी होना चाहिए। कृपया सहायता कीजिये?

फ़ॉर्म लेआउट

<!-- Departure date-->
<div class="form-line registar2 love {{ $errors->has('departure_date') ? ' has-error' : '' }}">
    <input type="date" class="form-input" name="departure_date" value="{{ old('departure_date') }}" required>
    <label>Departure Date *</label>
    <div class="error-label">Field is required!</div>
    <div class="check-label"></div>
    @if ($errors->has('departure_date'))
        <span class="help-block">
            <strong>{{ $errors->first('departure_date') }}</strong>
        </span>
    @endif
</div>
<!--End departure-->

<!-- Return date-->
<div class="form-line registar2 move {{ $errors->has('return_date') ? ' has-error' : '' }}">
    <input type="date" class="form-input" name="return_date" value="{{ old('return_date') }}" required>
    <label>Return Date *</label>
    <div class="error-label">Field is required!</div>
    <div class="check-label"></div>
    @if ($errors->has('return_date'))
        <span class="help-block">
            <strong>{{ $errors->first('return_date') }}</strong>
         </span>
    @endif
</div>
<!-- End return date-->

नियंत्रक में सत्यापन

public function validatePlanEntries(Request $request)
{
    $validation = $this->validate($request, [
            'departure_date' => 'required',
            'return_date' => 'required'
        ]
    );
}
0
Pweb 13 अक्टूबर 2018, 06:17

1 उत्तर

सबसे बढ़िया उत्तर
    public function validatePlanEntries(Request $request)
    {
        $validation = $this->validate($request, [
            'departure_date' => 'required|date|after:now',
            'return_date' => 'required|date|after:departure_date',
        ]
        );
    }

एफवाईआई: बाद में: XXXXX नियम या तो किसी अन्य इनपुट फ़ील्ड की तुलना करता है या मूल डेटटाइम PHP वर्ग के नियमों का सम्मान करता है। तो आप after:now +2 hours दर्ज कर सकते हैं।

संदेशों को ओवरराइड करने और अपना खुद का लिखने के लिए, इस तरह एक messages() फ़ंक्शन बनाएं:

public function messages()
{
    return [
        'departure_date.required' => 'Departure date is required',
        'departure_date.after' => 'Please choose a date in the future',
        'return_date.required'  => 'Return date is required',
        'return_date.after' => 'Your return date is before departure'
    ];
}

यदि आप डेटपिकिंग को अधिक उपयोगकर्ता के अनुकूल और कम त्रुटि बाध्य बनाने के लिए एक jQuery समाधान की तलाश में हैं, तो आप बूटस्ट्रैप डेटपिकर, यह शायद प्रयास के लायक है। आपकी परियोजना के लिए शुभकामनाएं!

4
Dimitri Mostrey 13 अक्टूबर 2018, 05:25