*/ final class FormFieldValidationRuleFactory extends Factory { protected $model = FormFieldValidationRule::class; /** @return array */ public function definition(): array { return [ 'owner_type' => 'form_field', 'owner_id' => FormField::factory(), 'rule_type' => FormFieldValidationRuleType::MinLength->value, 'parameters' => ['value' => 3], 'error_message_key' => null, ]; } public function forField(FormField $field): static { return $this->state(fn () => [ 'owner_type' => 'form_field', 'owner_id' => $field->id, ]); } public function forLibrary(FormFieldLibrary $library): static { return $this->state(fn () => [ 'owner_type' => 'form_field_library', 'owner_id' => $library->id, ]); } /** * @param array $parameters */ public function ofType(FormFieldValidationRuleType $type, array $parameters): static { return $this->state(fn () => [ 'rule_type' => $type->value, 'parameters' => $parameters, ]); } }