>
> Thanks,
>
> Matt
>
>>
>> Matt Raible wrote:
>>
>>> Hmmm, I'm guessing the answers to my questions below are "no, this
>>> isn't possible." ;-)
>>>
>>> Here's another question - is it possible in my custom Validator to
>>> get the existing CSS classes on a component? For example, I
>>> currently have:
>>>
>>> public void writeLabelAttributes(IMarkupWriter writer,
>>> IRequestCycle cycle, IFormComponent component) {
>>> if (isInError(component)) {
>>> writer.attribute("class", "error");
>>> }
>>> }
>>>
>>> public void writeAttributes(IMarkupWriter writer, IRequestCycle
>>> cycle,
>>> IFormComponent component, IValidator
>>> validator) {
>>> if (isInError()) {
>>> writer.attribute("class", "error");
>>> }
>>> }
>>>
>>> But I'd prefer to have something like this:
>>>
>>> public void writeLabelAttributes(IMarkupWriter writer,
>>> IRequestCycle cycle, IFormComponent component) {
>>> if (isInError(component)) {
>>> writer.attribute("class", "error " +
>>> component.getAttribute("class"));
>>> }
>>> }
>>>
>>> public void writeAttributes(IMarkupWriter writer, IRequestCycle
>>> cycle,
>>> IFormComponent component, IValidator
>>> validator) {
>>> if (isInError()) {
>>> writer.attribute("class", "error " +
>>> component.getAttribute("class"));
>>> }
>>> }
>>>
>>> In other words, is there a method on component that allows me to get
>>> the current CSS classes?
>>>
>>> Matt
>>>
>>> Matt Raible wrote:
>>>
>>>> I have two different "Label" components I'm trying to create.
>>>> Issue #1
>>>> ---------------------------
>>>> The first is a simple component (just a Label.jwc and Label.html
>>>> file in WEB-INF) that writes a <label>. I'd like to include the
>>>> option to write a "required" indicator. However, I'm having a
>>>> difficult time retrieving a parameter's value. Here's what I have
>>>> so far:
>>>>
>>>> Label.jwc
>>>> <component-specification allow-informal-parameters="yes">
>>>> <parameter name="key" required="yes"/>
>>>> <parameter name="class" required="no"/>
>>>> <component id="label" type="Any"
>>>> inherit-informal-parameters="yes"/>
>>>> </component-specification>
>>>>
>>>> Label.html
>>>> <label jwcid="label"><span jwcid="@Insert"
>>>> value="ognl:getMessages().getMessage(key)"/> <div jwcid="@If"
>>>> condition="ognl:class == 'required'"><span class="req">
>>>> *</span></label>
>>>>
>>>> I'm pretty sure "class" won't work as a parameter name b/c I've
>>>> seen a stacktrace using this already. Regardless, let's pretend it
>>>> does (I've tried using other names). Here's the desired usage:
>>>>
>>>> <label class="required desc" jwcid="@Label" for="phoneNumber"
>>>> key="user.phoneNumber">Phone Number</label> produces:
>>>>
>>>> <label class="desc" jwcid="@Label" for="phoneNumber">Phone
>>>> Number<span class="req"> *</label>
>>>>
>>>> I'm fine with the result having class="required desc" - I basically
>>>> just need some indicator to show a field is required when I'm not
>>>> wiring up it's input field as a component.
>>>>
>>>> Issue #2
>>>> ---------------------------
>>>> I'm overriding ValidationDelegate in order to add required field
>>>> indicators. I used to be pre-pending an asterisk to the beginning
>>>> of the field, and I had that working. Now I want to add <span
>>>> class="req"> to the end of the <label> before the </label> shows
>>>> up. I'm using @FieldLabel and everything *almost* works. I've
>>>> eliminating error styling in the class below so it's easier to read.
>>>>
>>>> public class Validator extends ValidationDelegate {
>>>> public void writeLabelSuffix(IFormComponent component,
>>>> IMarkupWriter writer, IRequestCycle
>>>> cycle) {
>>>> if (component.isRequired()) {
>>>> writer.begin("span");
>>>> writer.attribute("class", "req");
>>>> writer.printRaw(" *");
>>>> writer.end();
>>>> }
>>>> }
>>>>
>>>> The code above results in <label>blah blah</label><span
>>>> class="req"> *</span>, when I'd rather have the <span> w/in the
>>>> <label>. I tried overriding writeLabelAttributes(), but that
>>>> doesn't seem to allow me to create a new tag and write it out w/in
>>>> the label. Am I missing something here? Has anyone done something
>>>> like this - or knows how to add a <span> withing an @FieldLabel?
>>>>
>>>> Thanks,
>>>>
>>>> Matt
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail:
users-unsubscribe@...
>>> For additional commands, e-mail:
users-help@...
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
users-unsubscribe@...
>> For additional commands, e-mail:
users-help@...
>>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
users-unsubscribe@...
> For additional commands, e-mail:
users-help@...
>