def initialize(id,name=nil,value=nil,label=nil,attributes={}, validationRules={})
@id=id
@name=name
@value=value
@label=label
@form=nil
@attributes=attributes || {}
@validationRules=validationRules || {}
@errors=false
@validated=false
raise ArgumentError,"No id parameter to ValidForm::Field#new" unless @id && @id!=''
raise ArgumentError,"Non-hash passed as attributes parameter to ValidForm::Field#new" unless @attributes.is_a?(Hash)
raise ArgumentError,"Non-hash passed as validationRules parameter to ValidForm::Field#new" unless @validationRules.is_a?(Hash)
@validationRules.each_key{ |k|
raise ArgumentError,"Key '#{k}' passed in validationRules is not a known validation key" unless VALIDATION_KEYS[k]
}
end