Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
82485068
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
82485068
编写于
5月 08, 2010
作者:
J
Josh Kalderimis
提交者:
Carl Lerche
5月 08, 2010
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
updated AMo validations to use a context for valid? and invalid?, removing the dependency on AR
上级
0b4211c8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
12 addition
and
5 deletion
+12
-5
activemodel/lib/active_model/validations.rb
activemodel/lib/active_model/validations.rb
+12
-5
未找到文件。
activemodel/lib/active_model/validations.rb
浏览文件 @
82485068
...
...
@@ -29,7 +29,7 @@ module ActiveModel
# person.invalid?
# #=> false
# person.first_name = 'zoolander'
# person.valid?
# person.valid?
# #=> false
# person.invalid?
# #=> true
...
...
@@ -48,6 +48,8 @@ module Validations
extend
ActiveModel
::
Translation
define_callbacks
:validate
,
:scope
=>
:name
attr_accessor
:validation_context
class_attribute
:_validators
self
.
_validators
=
Hash
.
new
{
|
h
,
k
|
h
[
k
]
=
[]
}
end
...
...
@@ -117,7 +119,7 @@ def validate(*args, &block)
options
=
args
.
last
if
options
.
is_a?
(
Hash
)
&&
options
.
key?
(
:on
)
options
[
:if
]
=
Array
.
wrap
(
options
[
:if
])
options
[
:if
]
<<
"
@_on_validate
== :
#{
options
[
:on
]
}
"
options
[
:if
]
<<
"
validation_context
== :
#{
options
[
:on
]
}
"
end
set_callback
(
:validate
,
*
args
,
&
block
)
end
...
...
@@ -150,15 +152,20 @@ def errors
end
# Runs all the specified validations and returns true if no errors were added otherwise false.
def
valid?
# Context can optionally be supplied to define which callbacks to test against (the context is
# defined on the validations using :on).
def
valid?
(
context
=
nil
)
current_context
,
self
.
validation_context
=
validation_context
,
context
errors
.
clear
_run_validate_callbacks
errors
.
empty?
ensure
self
.
validation_context
=
current_context
end
# Performs the opposite of <tt>valid?</tt>. Returns true if errors were added, false otherwise.
def
invalid?
!
valid?
def
invalid?
(
context
=
nil
)
!
valid?
(
context
)
end
# Hook method defining how an attribute value should be retieved. By default this is assumed
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录