dont understand the question
Mar 10, 2023
8
Level 1
Rules shows only required
I have a form in livewire and i have a RequestForm. The rules display well in the dd. but he only shows the requires rules and not other rules.
<?php
namespace Modules\Webshop\Http\Livewire;
use Livewire\Component;
use Modules\Webshop\Http\Requests\DataRequest;
use Auth;
class CartData extends Component{
public $name;
public $street;
public $housenumber;
public $addition;
public $postal_code;
public $city;
public $country;
public $bill_name;
public $bill_street;
public $bill_number;
public $bill_addition;
public $bill_postal_code;
public $bill_city;
public $bill_country;
public $username;
public $email;
public $password;
public $password_confirmation;
protected $listeners = ['information' => 'information'];
public function submit(DataRequest $req){
dd('no rules');
}
public function render(){
return view('webshop::livewire.cart.data');
}
}
namespace Modules\Webshop\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Auth;
class DataRequest extends FormRequest{
public function rules(){
$rules = [];
if(!Auth::check()){
$rules['name'] = 'required';
$rules['street'] = 'required';
$rules['housenumber'] = 'required|numeric';
$rules['postal_code'] = 'required';
$rules['city'] = 'required';
$rules['country'] = 'required|not_in:select';
if(isset($_COOKIE['account'])){
$rules['username'] = 'required|min:6|unique:users,username';
$rules['password'] = 'required|min:8';
$rules['password_confirmation'] = 'required|same:password';
}
}
if(isset($_COOKIE['bill'])){
$rules['bill_name'] = 'required';
$rules['bill_street'] = 'required';
$rules['bill_housenumber'] = 'required|numeric';
$rules['bill_postal_code'] = 'required';
$rules['bill_city'] = 'required';
$rules['bill_country'] = 'required|not_in:select';
}
//dd($rules);
return $rules;
}
public function attributes(){
return [
'postal_code' => __('Zip Code'),
'housenumber' => __('Housenumber'),
'bill_name' => __('Name'),
'bill_street' => __('Street'),
'bill_housenumber' => __('Housenumber'),
'bill_postal_code' => __('Zip Code'),
'bill_city' => __('City'),
'bill_city' => __('Country'),
];
}
}
<div>
<form wire:submit.prevent="submit">
<div class="h4 text-primary">{{__('Delivery address')}}</div><hr></hr>
@if(Auth::check())
@if(!empty($info))
{{$info->street}} {{$info->number}}{{$info->addition}}<br/>
{{$info->postal_code}} {!!$info->city!!}<br/>
{{__($info->coun->country)}}
@else
{{__('No delivery address has been selected')}}
@endif
<br/><br/>
@if($showCheck)
<input type="checkbox" wire:model="changeInfo" wire:click="openInfo" id="address"> {{__('Change')}}<br/><br/>
@endif
@endif
@if($showInfo)
<select class="form-control" wire:click="changeInfo($event.target.value)">
<option value="0">{{__('Select ...')}}</option>
@foreach($address as $add)
<option value="{{$add->id}}">{!!$add->street!!} {{$add->number}}{{$add->addition}}, {{$add->postal_code}}, {!!$add->city!!}, {{$add->coun->country}}</option>
@endforeach
<option value="other">{{__('Other ...')}}</option>
</select>
@endif
@if($addInfo)
<div class="row mt-3">
<div class="col-md-12">
<label>{{__('Name')}}</label>
<input type="text" wire:model="name" class="form-control">
@error('name') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
</div>
<div class="row">
<div class="col-md-6">
<label>{{__('Street')}}</label>
<input type="text" wire:model="street" class="form-control">
@error('street') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
<div class="col-md-3">
<label>{{__('Housenumber')}}</label>
<input type="text" wire:model="housenumber" class="form-control">
@error('housenumber') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
<div class="col-md-3">
<label>{{__('Addition')}}</label>
<input type="text" wire:model="addition" class="form-control">
@error('addition') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
</div>
<div class="row">
<div class="col-md-4">
<label>{{__('Postal Code')}}</label>
<input type="text" wire:model="postal_code" class="form-control">
@error('postal_code') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
<div class="col-md-4">
<label>{{__('City')}}</label>
<input type="text" wire:model="city" class="form-control">
@error('city') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
<div class="col-md-4">
<label>{{__('Country')}}</label>
<select class="form-control" wire:model="country" wire:click="changeCountry($event.target.value)">
<option value="select">{{__('Select ...')}}</option>
@foreach($options as $key => $val)
<option value="{{$key}}">{{$val}}</option>
@endforeach
</select>
@error('country') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
</div>
@endif
@if(env('WS_INVOICE') == 1)
<div class="h4 mt-3 text-primary">{{__('Billing address')}}</div><hr></hr>
<input type="checkbox" id="same" wire:click="openBill" wire:model="same"> {{__('Different as delivery address')}}<br/><br/>
@if($showBill)
@auth
@if(!empty($invoice))
{{$invoice->street}} {{$invoice->number}}{{$invoice->addition}}<br/>
{{$invoice->postal_code}} {!!$invoice->city!!}<br/>
{{__($invoice->coun->country)}}
@else
{{__('No billing address has been selected')}}
@endif
<br/><br/>
@if($showBillCheck)
<input type="checkbox" wire:model="openBillInfo" wire:click="openBillInfo" id="address"> {{__('Change')}}<br/><br/>
@endif
@endauth
@if($showBillInfo)
<select class="form-control" wire:click="changeBill($event.target.value)">
<option value="0">{{__('Select ...')}}</option>
@foreach($invoices as $inv)
<option value="{{$inv->id}}">{!!$inv->street!!} {{$inv->number}}{{$inv->addition}}, {{$inv->postal_code}}, {!!$inv->city!!}, {{$inv->coun->country}}</option>
@endforeach
<option value="other">{{__('Other ...')}}</option>
</select>
@endif
@if($addBill)
<div class="row mt-3">
<div class="col-md-12">
<label>{{__('Name')}}</label>
<input type="text" wire:model="bill_name" class="form-control">
@error('bill_name') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
</div>
<div class="row">
<div class="col-md-6">
<label>{{__('Street')}}</label>
<input type="text" wire:model="bill_street" class="form-control">
@error('bill_street') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
<div class="col-md-3">
<label>{{__('Housenumber')}}</label>
<input type="text" wire:model="bill_housenumber" class="form-control">
@error('bill_housenumber') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
<div class="col-md-3">
<label>{{__('Addition')}}</label>
<input type="text" wire:model="bill_addition" class="form-control">
@error('bill_addition') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
</div>
<div class="row">
<div class="col-md-4">
<label>{{__('Postal Code')}}</label>
<input type="text" wire:model="bill_postal_code" class="form-control">
@error('bill_postal_code') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
<div class="col-md-4">
<label>{{__('City')}}</label>
<input type="text" wire:model="bill_city" class="form-control">
@error('bill_city') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
<div class="col-md-4">
<label>{{__('Country')}}</label>
<select class="form-control" wire:model="bill_country">
<option>{{__('Select ...')}}</option>
@foreach($options as $key => $val)
<option value="{{$key}}">{{$val}}</option>
@endforeach
</select>
@error('bill_country') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
</div>
@endif
@endif
@endif
@if(env('WS_GIFT') == 1)
<div class="h4 mt-3 text-primary">{{__('Gift')}}</div><hr></hr>
<input type="checkbox" wire:model="gift" id="gift" wire:click="openGift"> {{__('I would like to have the items wrapped in gift wrap for free.')}}<br/><br/>
@if($showGift)
{{__('Personal message:')}}
<textarea wire:model="message" class="form-control" maxlength="140"></textarea>
<small>{{__('max 140 characters')}}</small>
@endif
@endif
<div class="h4 text-primary mt-3">{{__('Remark')}}</div><hr></hr>
<textarea wire:model="comment" class="form-control" maxlength="140"></textarea>
<small>{{__('max 140 characters')}}</small>
@guest
<div class="h4 mt-3 text-primary">{{__('Account')}}</div><hr></hr>
<div class="row">
<div class="col-md-12">
<label>{{__('Email')}}</label>
<input type="text" wire:model="email" class="form-control">
@error('email') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
</div>
<div class="mt-3">
<input type="checkbox" wire:model="account" id="account" wire:click="openAccount"> {{__('Create account.')}}
</div>
@if($showAccount)
<div class="row mt-3">
<div class="col-md-6">
<label>{{__('Username')}}</label>
<input type="text" wire:model="username" class="form-control">
@error('username') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
<div class="col-md-3">
<label>{{__('Password')}}</label>
<input type="password" wire:model="password" class="form-control">
@error('password') <span class="text-danger small">{{ $message }}</span> @enderror
</div>
<div class="col-md-3">
<label>{{__('Confirm password')}}</label>
<input type="password" wire:model="password_confirmation" class="form-control @error('password_confirmation') is-invalid @enderror" >
</div>
</div>
@endif
@endguest
<button type="submit" class="btn btn-primary mt-3 mb-3 float-end">{{__('Next')}}</button>
</form>
</div>
Level 122
@sannevanleeuwen why?
protected $validationAttributes;
public function mount()
{
$this->$validationAttributes = [
'bill_name' => __("name"),
];
}
Please or to participate in this conversation.