سلام دوستان
من یک فرم دارم که داخل کامپوننت لایو وایره و اعتبار سنجی ریل تایم انجام میده مشکلی نیست
ولی می خواستم بدونم راهی هست در صورتی که ریل تایم داره اعتبار سنجی میکنه و مشکلی نبود به جای ارور یک متن موفقیت یا تیک تایید
اضافه بشه
راهی که به ذهنم رسید تو @error داخل else بزارم ولی به طور پیش فرض متن داخل span نمایش داده میشه
<form wire:submit.prevent="handleForm">
<input type="text" class="form-control input-title" wire:model="blog.title" >
@if($errors->has('blog.title'))
<span class="text-danger">{{ $errors->first('blog.title') }}</span>
@else
<span class="text-success ">متن وارد شده صحیح می باشد</span>
@endif
</form>
متغیر errors خودش آبجکتی هست که در صورتی که خطای ولیدیشن داخل سشن باشه، میتونی ازش استفاده کنی
حالا شما داخل if داری میگی اگر این متغیر موجود نبود، یک اسپن با کلاس text-success نمایش بده.. و برنامه هم دقیقا داره همین کارو برات میکنه
دفعه اول که فرم نمایش داده میشه هنوز خطایی با نام blog.title در سشن موجود نیست .
کد زیر رو امتحان کن:
@if($errors->has('blog.title'))
@if(!is_null($errors->first('blog.title')))
<span class="text-danger">{{ $errors->first('blog.title') }}</span>
@else
<span class="text-success ">متن وارد شده صحیح می باشد</span>
@endif
@endif
کد رو گزاشتم ولی وقتی اعتبار سنجی تموم میشه else اجرا نمیشه
یکار دیگم انجام دادم که متن span رو بعد از validateOnly در متد updated گزاشتم
@if($errors->has('blog.reading_time'))
<span class="text-danger">{{ $errors->first('blog.reading_time') }}</span>
@else
<span class="text-success " >{{ $success_message }}</span>
@endif
public $success_message;
public function updated($value){
$this->validateOnly($value);
$this->success_message= "متن وارد شده صحیح می باشد";
}
ولی بعد اینکه یک input اعتبار سنجی شد تمام input ها متن موفقیت نشون دادن
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟