How can I conditional the validation on a model validation?

I'm making an application in Ruby, but I create records from text files,
which contain basic information to create a record. Then I modify the
records from the website, but now validating all fields.
What I do is validate some fields when the record is created from the
text file, and then validate the other fields which are filled from the
Here's an example:

# My Table
Table name: Person
Fields: id, name, address, telephone, mail

The text file only contains the id and name. From the website, add the
other fields, but I also want to validate.

So I have the model:

class Person <ActiveRecord:: Base
  validates_presence_of: id
  validates_presence_of name

How can I make previous validation from the model?

Is this what you want?
validates_presence_of :somethingelse, :on => :update

See the docs for validations at


If you’re asking “how do I avoid the validation check on name and id when updating”, then you should look at :on => params for validation.

validates_presence_of :id, :name, :on => :create

I think everything is clearly explained in the docs.