Forum: Rails France Le validates_presence_of ne montre pas de message d'erreur

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Pepe S. (Guest)
on 2008-10-14 05:31
Salut,

j'ai cree un modele avec validation de presence de champs comme suit:

Model:
class Contact < ActiveRecord::Base
   validates_presence_of :name,  :email, :body
  validates_length_of :body, :maximum =>2000
end

-----Controller
class ContactController < ApplicationController
  def new
      @contact = Contact.new
   end
  def create
    @contact = Contact.new(params[:contact])
   @contact.save
  end
end

------Viewers

New view

<%= error_messages_for :contact %>

<% form_for @contact, :url => { :action => 'create' }, :html => {
:method => :post }  do |f| %>
<fieldset>
<legend>Please send your message: </legend>
<p><label>Your N.:<br /><%= f.text_field :name, :size => 25
%></label></p>
<p><label>Your email:<br /> <%= f.text_field :email, :size => 25
%></label></p>
<p><label>Message:<br /><%= f.text_area :body, :rows => 10, :cols => 30
%></label></p>
<p><label><%= submit_tag 'Submit'   %> </label></p>
</fieldset>
<% end %>


Create view
<h2>Thank you for your interest in my site</h2>


Quand les champs son renseignes et je clique sur submit, ca ecrit dans
la base, mais quand les champs sont vides et je clique sur le bouton
submit, ca n'affiche pas de message d'erreur.

Pourquoi?
Michel B. (Guest)
on 2008-10-14 08:42
(Received via mailing list)
Peut-être parce que "create" ne pense pas à renvoyer vers la vue "new"
quand
le "save" échoue...

Le 14 octobre 2008 03:31, Pepe S. <removed_email_address@domain.invalid> a
écrit
:

>
>
> <p><label>Your N.:<br /><%= f.text_field :name, :size => 25
> Create view
>
> >
>


--
Michel B.
Pepe S. (Guest)
on 2008-10-14 16:33
Michel,

Peux-tu me donenr una example avec du code Ruby ou l'adresse d'une page
ou je puisse avoir pluis de renseignements

je travaille avec 2 ou 3 livres et ils n'expliquent pas comment je dois
faire ce type de controle
merci


 Belleville wrote:
> Peut-être parce que "create" ne pense pas à renvoyer vers la vue "new"
> quand
> le "save" échoue...
>
> Le 14 octobre 2008 03:31, Pepe S. <removed_email_address@domain.invalid> a
> écrit
> :
>
>>
>>
>> <p><label>Your N.:<br /><%= f.text_field :name, :size => 25
>> Create view
>>
>> >
>>
>
>
> --
> Michel B.
Michel B. (Guest)
on 2008-10-14 17:37
(Received via mailing list)
Disons :

def create
  @truc = Truc.new(params[:truc])
  # on essaye de sauver, et si ça ne marche pas on affiche la vue "new"
  # cette fois avec les données de l'objet @truc que l'on vient de
tenter de
créer
  render :action => :new if (! @truc.save)
end

C'est un exemple super basique, pas une ligne de conduite. Tu pourrais
trouver des exemples plus complets en utilisant le scaffolding.

--
Michel B.
Jean-François Trân (Guest)
on 2008-10-14 17:48
(Received via mailing list)
Le 14 octobre 2008 14:33, Pepe S. a écrit :

> Peux-tu me donenr una example avec du code Ruby ou l'adresse d'une page
> ou je puisse avoir pluis de renseignements
>
> je travaille avec 2 ou 3 livres et ils n'expliquent pas comment je dois
> faire ce type de controle

Ah, et par curiosité, quels sont ces livres ?

   -- Jean-François.

--
Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_
Pepe S. (Guest)
on 2008-10-15 04:59
Jean-François,


J’utilise ces trois livres :
•  Simply Rails 2.2

•  Agile Web D. with Rails

•  Practical Rails Social Networking Sites
Guillaume D. (Guest)
on 2008-10-15 21:51
(Received via mailing list)
Salut,

Le 14 oct. 08 à 15:37, Michel B. a écrit :

>   render :action => :new if (! @truc.save)

Roooh :)

render :action => :new unless @truc.save


Guillaume "Zifro" DESRAT
Président de l'association Ruby France
http://www.rubyfrance.org/
Jean-François Trân (Guest)
on 2008-10-16 01:15
(Received via mailing list)
Le 15 octobre 2008 02:59, Pepe S. a écrit :
>
> Jean-François,
>
> J'utilise ces trois livres :
> •  Simply Rails 2.2
>
> •  Agile Web D. with Rails
>
> •  Practical Rails Social Networking Sites

Tu me sembles bien armé pour acquérir la maîtrise de Ruby on
Rails. Je ne connais pas le premier livre. Si je puis me permettre,
il serait quand même mieux d'étudier qu'un de ces livres
en suivant la progression proposée par l'auteur et éventuellement
si une explication n'est pas clair, aller piocher dans les 2 autres
bouquins des explications plus claires sur un point précis,
plutôt que de lire les 3 livres en parallèle.

    -- Jean-François.

--
Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_
Michel B. (Guest)
on 2008-10-16 01:20
(Received via mailing list)
De nouveau, j'ai pondu ça sans vraiment réfléchir après deux mois de
retours
au PHP dans le cadre de ma profession ; un peu d'indulgence que Diable !

Et que celui qui a répondu le premier à sa question me jette la première
pierre, comme ça je suis tranquille à moins d'une maladresse de ma
part...

:op

--
Michel B.
Guillaume D. (Guest)
on 2008-10-16 01:50
(Received via mailing list)
Le 15 oct. 08 à 23:07, Michel B. a écrit :

> De nouveau, j'ai pondu ça sans vraiment réfléchir après deux mois
> de retours au PHP dans le cadre de ma profession ; un peu
> d'indulgence que Diable !

C'est pas plus mal finalement : tu retrouves la joie de Ruby
régulièrement :)

> Et que celui qui a répondu le premier à sa question me jette la
> première pierre, comme ça je suis tranquille à moins d'une
> maladresse de ma part...
> :op

Et même :p :p :p


Bonne nuit, j'ai besoin de sommeil... ZzZZz...

Guillaume "Zifro" DESRAT
Président de l'association Ruby France
http://www.rubyfrance.org/
This topic is locked and can not be replied to.