>From: "Matthias Wessendorf" <[EMAIL PROTECTED]> > > On 2/22/07, Hasan Turksoy wrote: > > jsf-ri1.1 contains converter for "javax.faces.DateTime" class only... not > > for java.util.Date class.... you can download and look at > > jsf-ri-config.xml... > > > > in fact, this is not the main problem... i can overcome my issue by adding > > a > > converter for "java.util.Date"... But this doesn't solve the problem in the > > origin.... > > are you talking about this: > > javax.faces.DateTime > javax.faces.convert.DateTimeConverter > > > > that is just the id... > > I think the -for-class is only there for "simple" converters like > > javax.faces.convert.FloatConverter >
Yeah, for some reason I was thinking that the RI already has a converter registered by type for the java.util.Date type. <converter-for-class>java.util.Date</converter-for-class> The shale commons validator uses the ConverterHelper [1] (uses JSF type converters) to convert the submitted value, after the components converter has already converted to a Date object, back to a String to match the commons validator methodParams. <validator name="date" classname="org.apache.shale.validator.CommonsValidator" method="isDate" methodParams="java.lang.String,java.lang.String" msg="errors.date" jsFunctionName="validateDate" jsFunction="org.apache.commons.validator.javascript.validateDate" depends=""/> [1] http://svn.apache.org/viewvc/shale/framework/trunk/shale-core/src/main/java/org/apache/shale/util/ConverterHelper.java?view=markup > -M > Gary > > > Because; in JSF, one can add custom converter for each component > > separately... in such a case, using my by-type java.util.Date converter is > > meaningless! because, user assigned a custom converter for that field!! JSF > > will use it instead of by-type converter... so, commons should use it > > too... > > > > now, when assigned custom validator for fields,, JSF RI and > > CommonsValidator > > behaving differently!!! this is not an acceptable situation! isn't it? > > > > to realize the problem... when returned to my sample in the previous post; > > suppose that i have a "java.util.Date" converter... and no custom > > converter... in this case, CommonsValidator and JSF RI will work same.. > > both will use our by-type converter... > > > > But, if i use a custom converter for my inputtext as below; > > > > ** > > > > /> > > > > > > then, JSF RI will use this custom component converter to convert it's value > > but CommonsValidator will use our by-type java.util.Date converter... > > different behaviours!!... > > > > In conclusion; when we look at JSF RI code, we see that; it first looks for > > custom component converter then, if can not find, searches for a by-type > > converter... CommonsValidator must work same i think... > > > > i have injected my solution into my CommonsValidator class and it works > > perfect... above suggestion should be implemented in original > > CommonsValidator releases as soon as possible i think... > > > > i can provide code if required... > > > > regards.. > > > > hasan.. > > > > > > > > > > > > On 2/21/07, Gary VanMatre wrote: > > > > > > >From: "Hasan Turksoy" > > > > > > > > hi all, > > > > > > > > Env: jsf1.1, commons-validator1.3.1, shale1.0.4.. > > > > > > > > i'am trying to put a required validator for my date entering field.. My > > > > field has a f:convertDateTime to make conversion between String <-> > > > > java.util.Date. it's like; > > > > > > > > > > > > > > > > > > > > > > > server="true" > > > >/> > > > > > > > > > > > > When i entered a valid value into my date field it throws a > > > > ConverterException as below; > > > > > > > > "javax.faces.ConverterException: You have requested a conversion for > > > type > > > > java.util.Date, but there is no by-type converter registered for this > > > type." > > > > > > > > > > > > > I'm not sure why you are seeing this exception. I belive that the > > > java.util.Data > > > converter should be registered with the JSF runtime. > > > > > > Can you tell where the exception is being raised from the stack trace? > > > The reason for asking is that the shale commons validator uses JSF > > > converters to coerce data types to match the signatures of the server > > > side validation methods. > > > > > > > > > > > > > > > > > > > as i understand; it needs a converter for the java.util.Date class.. > > > > But > > > in > > > > JSF, one can assign custom converter tags as above sample... > > > > > > > > this means, (my suggestion) commonsvalidator should get the converter > > > for > > > > that type from component. if component don't have any converters > > > assigned, > > > > it should lookup for a by-type converter then... Otherwise, i will have > > > to > > > > define by-type converters for all my component converters! this will be > > > > stupid i think... > > > > > > > > any comments?? or solutions?? > > > > > > > What version of the JSF runtime are you using? This sounds like a rutime > > > issue. > > > > > > > > > > > > > thanks in advance, > > > > hasan.. > > > > > > > > > Gary. > > > > > -- > Matthias Wessendorf > http://tinyurl.com/fmywh > > further stuff: > blog: http://jroller.com/page/mwessendorf > mail: mwessendorf-at-gmail-dot-com