src/Abstracts/aField.php
public function setValue($v) : bool
    {
        $iPS = $this->internal_ProccessSet($v);

        if ($iPS["canSet"] === true) {
            $this->value                        = $iPS["value"];
            $this->rawValue                     = $iPS["rawValue"];
            $this->fieldState_IsValid           = $iPS["valid"];
            $this->fieldState_CurrentState      = $iPS["state"];
            $this->fieldState_CollectionState   = $iPS["cState"];
        } 
        $this->fieldState_ValidateState             = $iPS["state"];
        $this->fieldState_ValidateStateCanSet       = $iPS["canSet"];
        $this->fieldState_CollectionValidateState   = $iPS["cState"];

        return ($iPS["canSet"] === true && $iPS["valid"] === true);
    }
public function setValue($v) : bool
    {
        $iPS = $this->internal_ProccessSet($v);

        if ($iPS["canSet"] === true) {
            $this->value                        = $iPS["value"];
            $this->rawValue                     = $iPS["rawValue"];
            $this->fieldState_IsValid           = $iPS["valid"];
            $this->fieldState_CurrentState      = $iPS["state"];
            $this->fieldState_CollectionState   = $iPS["cState"];
        } 
        $this->fieldState_ValidateState             = $iPS["state"];
        $this->fieldState_ValidateStateCanSet       = $iPS["canSet"];
        $this->fieldState_CollectionValidateState   = $iPS["cState"];

        return ($iPS["canSet"] === true && $iPS["valid"] === true);
    }
Define um novo valor para este campo.

- Campos Simples
Para que o campo assuma o novo valor ele precisa ser
compatível com o "type" definido. Caso contrário o campo
ficará com o valor "null".

-- Valores esperados
null, Bool, Int, Float, RealNumber, DateTime, String


- Campos "reference"
Campos deste tipo apenas aceitarão valores capazes de preencher os
campos do modelo de dados ao qual eles se referenciam.
Independente de tornar o modelo de dados válido ou não, os valores
serão definidos exceto se o valor passado for incompatível com o
modelo de dados configurado.

-- Valores esperados
null, iterable, Array, iModel,


- Campos "collection"
Uma coleção de dados sempre será definida como o valor de
um campo que aceite este tipo de valor.
Os membros da coleção serão convertidos para o tipo "type"
definido. Membros que não possam ser convertidos serão substituidos
por "null" e a coleção será inválida até que estes membros sejam
removidos ou substituídos.

Coleções do tipo "reference" apenas serão redefinidos se TODOS seus
itens forem capazes de tornarem-se objetos "iModel" do tipo definido
para este campo.

-- Valores esperados
null, Array


- Estado e validação
-- Independente de o valor vir a ser efetivamente definido para o campo
o estado da validação pode ser verificado usando "getLastValidateState".

-- Uma vez que o valor seja definido o campo passa a assumir o estado herdado
da validação e poderá ser verificado em "getState".


- undefined
Este valor NUNCA será aceito por nenhum tipo de campo e em
qualquer circunstância.


@param       mixed $v
Valor a ser definido para o campo.

@return      bool
Retornará "true" se o valor tornou o campo válido
ou "false" caso agora ele esteja inválido.
Também retornará "false" caso o valor seja totalmente
incompatível com o campo.