Class: AlTimestamp
- Inherits:
-
AlWidget
- Object
- AlWidget
- AlTimestamp
- Defined in:
- lib/al_form.rb,
lib/al_form/extend.rb
Overview
Note:
年月日と時分秒を扱う 内部的にはTimeオブジェクトで保存する。
タイムスタンプウィジェット
Instance Attribute Summary (collapse)
-
- (Integer) max
最大値.
-
- (Integer) min
最小値.
Instance Method Summary (collapse)
-
- (AlTimestamp) initialize(name, arg = {})
constructor
(AlTimestamp) constractor.
-
- (String) make_tag(arg = {})
(AlTimestamp) HTMLタグの生成.
-
- (String) make_value(*arg)
(AlTimestamp) HTML値の生成.
-
- (Boolean) validate
(AlTimestamp) バリデート.
Methods inherited from AlWidget
Constructor Details
- (AlTimestamp) initialize(name, arg = {})
(AlTimestamp) constractor
1368 1369 1370 1371 1372 1373 1374 1375 |
# File 'lib/al_form.rb', line 1368 def initialize( name, arg = {} ) require 'al_form/extend' super( name, arg ) @filter = arg[:filter] || 'value.strip' @max = arg[:max] @min = arg[:min] end |
Instance Attribute Details
- (Integer) max
最大値
157 158 159 |
# File 'lib/al_form/extend.rb', line 157 def max @max end |
- (Integer) min
最小値
160 161 162 |
# File 'lib/al_form/extend.rb', line 160 def min @min end |
Instance Method Details
- (String) make_tag(arg = {})
(AlTimestamp) HTMLタグの生成
207 208 209 210 211 212 213 214 215 216 217 |
# File 'lib/al_form/extend.rb', line 207 def make_tag( arg = {} ) if @hidden return %Q(<input type="hidden" name="#{@name}" value="#{make_value()}" #{AL_FORM_EMPTYTAG_CLOSE}\n) end r = %Q(<input type="text" name="#{@name}" value="#{make_value()}") (@tag_attr.merge arg).each do |k,v| r << %Q( #{k}="#{Alone::escape_html(v)}") end return "#{r} #{AL_FORM_EMPTYTAG_CLOSE}" end |
- (String) make_value(*arg)
(AlTimestamp) HTML値の生成
226 227 228 229 230 231 232 233 |
# File 'lib/al_form/extend.rb', line 226 def make_value( *arg ) v = arg.empty? ? @value: arg[0] if v.class == Time return Alone::escape_html( v.strftime('%Y-%m-%d %H:%M:%S') ) else return Alone::escape_html( v ) end end |
- (Boolean) validate
(AlTimestamp) バリデート
168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/al_form/extend.rb', line 168 def validate() require 'time' @message = "" if @value == "" || @value == nil if @required @message = "#{@label}を入力してください。" return false end @value = nil return true end begin @value = Time.parse( @value ) rescue @message = "#{@label}を正しく入力してください。" return false end if @max && @value > @max @message = "#{@label}は、最大#{@max.strftime('%Y-%m-%d %H:%M:%S')}までで入力してください。" return false end if @min && @value < @min @message = "#{@label}は、最小#{@min.strftime('%Y-%m-%d %H:%M:%S')}までで入力してください。" return false end return true end |