Member Since 4 Months Ago

Experience Points

4,790 experience to go until the next level!

In case you were wondering, you earn Laracasts experience when you:

  • Complete a lesson — 100pts
  • Create a forum thread — 50pts
  • Reply to a thread — 10pts
  • Leave a reply that is liked — 50pts
  • Receive a "Best Reply" award — 500pts
Lessons Completed
Best Reply Awards
Best Reply
  • start your engines Created with Sketch.

    Start Your Engines

    Earned once you have completed your first Laracasts lesson.

  • first-thousand Created with Sketch.

    First Thousand

    Earned once you have earned your first 1000 experience points.

  • 1-year Created with Sketch.

    One Year Member

    Earned when you have been with Laracasts for 1 year.

  • 2-years Created with Sketch.

    Two Year Member

    Earned when you have been with Laracasts for 2 years.

  • 3-years Created with Sketch.

    Three Year Member

    Earned when you have been with Laracasts for 3 years.

  • 4-years Created with Sketch.

    Four Year Member

    Earned when you have been with Laracasts for 4 years.

  • 5-years Created with Sketch.

    Five Year Member

    Earned when you have been with Laracasts for 5 years.

  • school-in-session Created with Sketch.

    School In Session

    Earned when at least one Laracasts series has been fully completed.

  • welcome-newcomer Created with Sketch.

    Welcome To The Community

    Earned after your first post on the Laracasts forum.

  • full-time-student Created with Sketch.

    Full Time Learner

    Earned once 100 Laracasts lessons have been completed.

  • pay-it-forward Created with Sketch.

    Pay It Forward

    Earned once you receive your first "Best Reply" award on the Laracasts forum.

  • subscriber Created with Sketch.


    Earned if you are a paying Laracasts subscriber.

  • lifer Created with Sketch.


    Earned if you have a lifetime subscription to Laracasts.

  • evangelist Created with Sketch.

    Laracasts Evangelist

    Earned if you share a link to Laracasts on social media. Please email [email protected] with your username and post URL to be awarded this badge.

  • chatty-cathy Created with Sketch.

    Chatty Cathy

    Earned once you have achieved 500 forum replies.

  • lara-veteran Created with Sketch.

    Laracasts Veteran

    Earned once your experience points passes 100,000.

  • 10k-strong Created with Sketch.

    Ten Thousand Strong

    Earned once your experience points hits 10,000.

  • lara-master Created with Sketch.

    Laracasts Master

    Earned once 1000 Laracasts lessons have been completed.

  • laracasts-tutor Created with Sketch.

    Laracasts Tutor

    Earned once your "Best Reply" award count is 100 or more.

  • laracasts-sensei Created with Sketch.

    Laracasts Sensei

    Earned once your experience points passes 1 million.

  • top-50 Created with Sketch.

    Top 50

    Earned once your experience points ranks in the top 50 of all Laracasts users.

Level 1
210 XP
4 months ago
Activity icon

Replied to Array Field Validation

Thank you for your reply, but it isn't solve my problem of validating array input

4 months ago
Activity icon

Started a new Conversation Array Field Validation

How can I validate array field?

Text::make($lang->name,  'translation[]')->rules(['translation.*'=>'required']);

In the model is

    protected $casts = [

always get validation.required error for filled out input

I also tried without [] in the name of the field, but in this case is not recognized as an array

4 months ago
Activity icon

Started a new Conversation Extending SelectField.vue

How can I extend SelectField.vue to be poopulated with ajax. My FormField.vue looks like this:

import { SelectField } from "laravel-nova";

export default {
  mixins: [SelectField],

  props: ["resourceName", "resourceId", "field"],

  data() {
    return {
      parentValue: null,
      loaded: false,
      options: []

  mounted() {
    this.watchedComponents.forEach(component => {
      let attribute = "value";

      if (component.field.component === "belongs-to-field") {
        attribute = "selectedResource";

        value => {
          this.parentValue =
            value && attribute == "selectedResource" ? value.value : value;

        { immediate: true }

  computed: {
    watchedComponents() {
      return this.$parent.$children.filter(component => {
        return this.isWatchingComponent(component);

    disabled() {
      return this.options.length == 0;

  methods: {
    setInitialValue() {
      this.value = "";

    updateOptions() {
      this.value = "";
      this.loaded = false;
      this.options = [];

      if (this.parentValue != null && this.parentValue != "") {
          .get(`/nova-components/nova-child-select/options/${this.resourceName}`, {
            params: {
              attribute: this.field.attribute,
              parent: this.parentValue
          .then(response => {
            this.loaded = true;
            this.options =;

            let optionValueExists = false;
            this.options.forEach(option => {
              if (option.value == this.field.value) {
                optionValueExists = true;
                this.value = option.value;

    isWatchingComponent(component) {
      return (
        component.field !== undefined &&
        component.field.attribute == this.field.parentAttribute

but I get some meaningless JS error (t is undefined) while the page loads