我的Sinatra应用程序中有一个用户模型,要求用户输入电子邮件密码和密码确认。有点像这样:
class User
include DataMapper::Resource
property :id, Serial
property :email, String, :required => true, :unique => true, :format => :email_address,
property :name, String
property :hashed_password, String
property :salt, String
property :created_at, DateTime
attr_accessor :password, :password_confirmation
validates_presence_of :password_confirmation
validates_presence_of :password
validates_length_of :password, :min => 6
validates_confirmation_of :password
end
这很好用,除了我希望能够创建用户并将其他模型与该用户关联,而用户无需输入任何名称。一段时间后,用户将创建一个组以及与该组关联的其他用户。 然后我需要用户能够输入电子邮件地址和密码,并将其放在数据库中创建的字段中。我想验证不会发生,直到我保存我创建的用户对象但我需要保存数据库中的用户没有电子邮件和密码当然如果他们想要能够登录他们将需要提供信息这是必要的。
我是否创建了自己的验证方法,或者有没有办法让DataMapper有时进行验证(例如,对于一个帖子请求而不是另一个请求),有时候不是吗?