October\Rain\Database\Traits\Validation

Source: ~/vendor/october/rain/src/Database/Traits/Validation.php

Protected properties

protected Illuminate\Support\MessageBag $validationErrors

The message bag instance containing validation error messages

protected array $validationDefaultAttrNames

Default custom attribute names.

Public methods

public static void bootValidation()

Boot the validation trait for this model.

public Illuminate\Support\MessageBag errors()

Get validation error message collection for the Model

public bool forceSave($options=NULL, $sessionKey=NULL)

Force save the model even if validation fails.

Parameters
  • $options
  • $sessionKey

public boolean isAttributeRequired(string $attribute, boolean $checkDependencies=true)

Determines if an attribute is required based on the validation rules.

Parameters
  • string $attribute
  • boolean $checkDependencies - Checks the attribute dependencies (for required_if & required_with rules). Note that it will only be checked up to the next level, if another dependent rule is found then it will just assume the field is required

public void setValidationAttributeName(string $attr, string $name)

Programatically sets the validation attribute names, will take lower priority to model defined attribute names found in $attributeNames.

Parameters
  • string $attr
  • string $name

public void setValidationAttributeNames(array $attributeNames)

Programatically sets multiple validation attribute names.

Parameters
  • array $attributeNames

public bool validate($rules=NULL, $customMessages=NULL, $attributeNames=NULL)

Validate the model instance

Parameters
  • $rules
  • $customMessages
  • $attributeNames

public static void validated(Closure|string $callback)

Create a new native event for handling afterValidate().

Parameters
  • Closure|string $callback

public static void validating(Closure|string $callback)

Create a new native event for handling beforeValidate().

Parameters
  • Closure|string $callback

Protected methods

protected void getRelationValidationValue($relationName)

Attachments validate differently to their simple values.

Parameters
  • $relationName

protected array getValidationAttributes()

Returns the model data used for validation.

protected static Illuminate\Validation\Validator makeValidator($data, $rules, $customMessages, $attributeNames, $connection=NULL)

Instantiates the validator used by the validation process, depending if the class is being used inside or outside of Laravel. Optional connection string to make the validator use a different database connection than the default connection.

Parameters
  • $data
  • $rules
  • $customMessages
  • $attributeNames
  • $connection

protected array processRuleFieldNames(array $rules)

Processes field names in a rule array.

Converts any field names using array notation (ie. field[child]) into dot notation (ie. field.child)

Parameters
  • array $rules - Rules array

protected void processValidationRules($rules)

Process rules

Parameters
  • $rules

protected string processValidationUniqueRule(string $definition, string $fieldName)

Rebuilds the unique validation rule to force for the existing ID

Parameters
  • string $definition
  • string $fieldName