Class: AlTime

Inherits:
AlTimestamp show all
Defined in:
lib/al_form.rb,
lib/al_form/extend.rb

Overview

Note:

時刻ウィジェット

時分秒を扱う 内部的には日付を2000年に固定したTimeオブジェクトで保存する。

Instance Attribute Summary

Attributes inherited from AlTimestamp

#max, #min

Attributes inherited from AlWidget

#filter, #foreign, #hidden, #label, #message, #name, #required, #tag_attr, #value

Instance Method Summary (collapse)

Methods inherited from AlTimestamp

#initialize, #make_tag

Methods inherited from AlWidget

#initialize, #set_attr, #set_value

Constructor Details

This class inherits a constructor from AlTimestamp

Instance Method Details

- (String) make_value(*arg)

(AlTime) HTML値の生成

Parameters:

  • arg (String, Time)

    表示値。指定なければ内部値を使う。

Returns:

  • (String)

    html文字列



346
347
348
349
350
351
352
353
# File 'lib/al_form/extend.rb', line 346

def make_value( *arg )
  v = arg.empty? ? @value: arg[0]
  if v.class == Time
    return Alone::escape_html( v.strftime('%H:%M:%S') )
  else
    return Alone::escape_html( v )
  end
end

- (Boolean) validate

(AlTime) バリデート

Returns:

  • (Boolean)

    成否



307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
# File 'lib/al_form/extend.rb', line 307

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( "2000-01-01 #{@value}" )
  rescue
    @message = "#{@label}を正しく入力してください。"
    return false
  end

  if @max && @value > @max
    @message = "#{@label}は、最大#{@max.strftime('%H:%M:%S')}までで入力してください。"
    return false
  end
  if @min && @value < @min
    @message = "#{@label}は、最小#{@min.strftime('%H:%M:%S')}までで入力してください。"
    return false
  end

  return true
end