[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Renato Vieira
Criador Renato Vieira 30/03/2022

Boa tarde Carlos,tudo bem?

Estou com um problema talvez, já tenha passado por isso e possa me ajudar, quando faço validação do titulo por exemplo, te coloco TESTE e gravo e depois colocar teste novamente mas em minusculo, ele deixa porque pra ele TESTE <> teste, como resolver isso?

fiz umas coisas e deu quase certo:

criei uma função java script

  <script type="text/javascript">
        function lowerCase(input) {
            input.value = input.value.toLowerCase();
        }
        function upperCase(input) {
            input.value = input.value.toUpperCase();
        }
    </script>

e no input chamei ela com onkeyip

    <div class="form-group">
        <label>Departamento</label>
        <input type="text" id="description" onkeyup="return upperCase(this)" name="description"
            value="{{ old('description') }}" maxlength="50"
            class="form-control {{ $errors->has('description') ? 'is-invalid' : '' }}"
            placeholder="Departamento" autofocus>
        <div class="invalid-feedback">{{ $errors->first('description') }} </div>
    </div>

deu certo, mas só consigo tudo maiusculo ou tudo minusculo, mas eu preciso no caso por exemplo:

renato soares vieira, mudar para Renato Soares Vieira, ai já não sei como fazer, ou "aplicação de fulor" mudar para "Aplicação de fluor" no caso mudar somente a primeira letra do texto.

 

obrigado

 

Manager Carlos Ferreira 30/03/2022

Olá, Renato!
Tudo bem?

Você está criando uma validação personalizada, igual na aula?

É possível mudar o strict do db, mas também você pode fazer um lowercase nos valores.

Compartilha o código que te ajudo.

Carlos Ferreira
Criador Renato Vieira 30/03/2022

Obrigado pela atenção

isso, estou fazendo igual na aula, porem na rule TentantUnique eu tinha feito uma alteração que daria certo pra ficar da forma que gravo no banco, deu certo, o problema é que cada vez que eu fiz um insert ou update e uma tabela tiver um monte de casos de alteração do case, acho que vou ter que fazer um monte de leitura e pode acabar ficando lento 

    $result = DB::table($this->table)
                ->where($attribute, ucfirst(strtolower($value)))
                ->where('tenant_id', $tenant)
                ->first();
    if ($result && $result->{$this->column} == $this->columnValue)
        return true;
    return is_null($result)

veja que no final do primeiro where eu fiz uma alteração.

como você quer que compartilho pra você?

obrigado

 

 

Renato Vieira
Manager Carlos Ferreira 30/03/2022

Para não mudar na strict do banco, aplica o lowercase nos valores, exemplo:
if ($result && strtolower($result->{$this->column}) == strtolower($this->columnValue))

Carlos Ferreira
Criador Renato Vieira 30/03/2022

maravilha,

Muito obrigado

Renato Vieira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!