我创建了一个模式,其中有一个文本框和两个按钮,我将它们连接到一个控制器,我必须在 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" />