Class: AlFloat

Inherits:
AlNumber show all
Defined in:
lib/al_form.rb

Overview

浮動小数点入力ウィジェット

Instance Attribute Summary

Attributes inherited from AlNumber

#max, #min

Attributes inherited from AlWidget

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

Instance Method Summary collapse

Methods inherited from AlNumber

#initialize, #make_value

Methods inherited from AlWidget

#initialize, #make_tag, #make_value, #set_attr, #set_value

Constructor Details

This class inherits a constructor from AlNumber

Instance Method Details

#validateBoolean

(AlFloat) バリデート

Returns:

  • (Boolean)

    成否



1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
# File 'lib/al_form.rb', line 1456

def validate()
  @message = ""

  if @value == "" || @value == nil
    if @required
      @message = p_("al", "%s is required.") % @label
      return false
    end
    @value = nil
    return true
  end

  if /^[\s]*[+-]?[\d]+(\.[\d]+)?([eE][+-]?[\d]+)?$/ !~ @value.to_s
    @message = p_("al", "Please enter %s correctly.") % @label
    return false
  end

  v = @value.to_f
  if @max && v > @max
    @message = p_("al", "%1$s must be %2$f or less.") % [@label, @max]
    return false
  end
  if @min && v < @min
    @message = p_("al", "%1$s must be %2$f or more.") % [@label, @min]
    return false
  end
  @value = v

  return true
end