1

我创建了一个模式,其中有一个文本框和两个按钮,我将它们连接到一个控制器,我必须在 texbox 中插入的文本不能超过 255 个字符,所以如果达到 255 个字符,我必须显示一个带有措辞“达到字符限制”并且文本框的边框必须为红色。我的问题是我无法显示工具提示文本和红色边框颜色。我能怎么做?我附上代码。非常感谢。

控制器.java

@Wire
private Textbox textbox;


private final static String TOOLTIP_TEXT = "label.tooltiptext";

private final static String MODAL_TITLE = "label.addnote";

private static final String BORDER_TEXTBOX = "textbox.z-textbox.z-textbox-error";

private CockpitEventQueue cockpitEventQueue;

private OccupationModel currentModel;

private ModelService modelService;

@Override
public ComponentInfo doBeforeCompose(final Page page, final Component parent, final ComponentInfo compInfo)
{
    this.setWidgetTitle(Labels.getLabel(MODAL_TITLE));
    return super.doBeforeCompose(page, parent, compInfo);
}

@SocketEvent(socketId = "inputObject")
public void onInputObject(final OccupationModel model)
{
    if(Objects.nonNull(model))
    {
        setCurrentModel(model);
    }
    textbox.setMultiline(true);
    textbox.setMaxlength(255);

}

@ViewEvent(componentID = "textbox", eventName = Events.ON_FULFILL)
public void addNoteTextboxValidate()
{
    if(!textbox.getValue().isEmpty() && textbox.getValue().length() >= 255)
    {
            textbox.setTooltiptext(TOOLTIP_TEXT);
            textbox.setSclass(BORDER_TEXTBOX);
    }
}

模态.zul

<div>
  <textbox id="textbox" width="500px"/>
</div>

CSS

.textbox.z-textbox.z-textbox-error {
  border-color : red;
}

定义.xml

<view src="addnotemodal.zul" />

<sockets>
    <input id="inputObject"/>
    <output type="pathcore.model.OccupationModel" 
     id="close"/>
</sockets>

<controller class="path.backoffice.widgets.Controller" />
4

0 回答 0