Websites – MVC – Parte 6 – Model Validate – MySQL – Ruby on Rails – Linux

Publicado: 8 de julho de 2014 em Ruby on Rails

A linguagem de programação Ruby permite que você valide os campos do modelo a fim de criar algumas restrições, por exemplo na hora de inserir um novo registro no banco de dados o desenvolvedor pode prevenir campos em branco ou contendo uma sequencia de caracteres menores que a estipulada pelo programador. A instrução Validates permite além destas mencionadas, vários outros tipos de validações dos campos definidos no modelo.

Ruby on Rails - Validações

Ruby on Rails – Validações

Validando campos do Modelo

Para validar os campos do modelo precisamos usar o arquivo de modelo gerado na hora da criação do projeto, chamado empresa.rb. Também precisamos modificar o arquivo html responsável por inserir um novo registro no banco de dados, este arquivo se chama new.html.erb:

Arquivos Model e View

Arquivos Model e View

Exemplo:

Neste exemplo modificamos o arquivo de modelo para criar uma validação dos campos a serem inseridos no arquivo de visão responsável por criar um novo registro no banco de dados, utilizando o comando validate.

Ruby

Model – empresa.rb

class Empresa < ActiveRecord::Base

   # Escreve validação do Moldelo (Model) 

   # Validações:  codigo e nome obrigatório
   validates :codigo, :nome, :presence => true

   # Validações:  tamanho minimo do campo, cinco caracteres
   validates :nome, :length => { :minimum => 5}

   # Validações:  nome unico no banco de dados
   validates :nome, :uniqueness => true

end

View – new.html.erb

<h2> Adicionar nova Empresa </h2>

<%= form_for @empresa do |cad|%>

    <% if @empresa.errors.any?  %>
       <h3>Erros:  </h3>
       <ul>
       	  <% @empresa.errors.full_messages.each do |menssagem| %>
       	  <li> <%= menssagem %> </li>
       	  <% end %>
       </ul>
    <% end %>

	<p>
		<%= cad.label :codigo%> <br />
		<%= cad.text_field :codigo%>
	</p>

	<p>
		<%= cad.label :nome%> <br />
		<%= cad.text_field :nome%>
	</p>

	<p>
		<%= cad.label :site%> <br />
		<%= cad.text_field :site%>
	</p>

	<p>
		<%= cad.label :projeto%> <br />
		<%= cad.text_field :projeto%>
	</p>

	<p>
		<%= cad.label :tipo%> <br />
		<%= cad.text_field :tipo%>
	</p>

	<p>
		<%= cad.label :linguagem%> <br />
		<%= cad.text_field :linguagem%>
	</p>

	<p>
		<%= cad.label :descricao%> <br />
		<%= cad.text_field :descricao%>
	</p>

	<p> <%= cad.submit "Adicionar dados" %></p>

<% end %>
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s