Java Dojo filteringselect STRUTS应用程序

Java Dojo filteringselect STRUTS应用程序,java,javascript,struts,dojo,Java,Javascript,Struts,Dojo,我正在为STRUTS应用程序使用DojoUI框架。我需要找到一种方法使过滤器选择项无效。正在设置invalidMessage,但是错误图标不会显示,因为列表中的所有值(包括所选值)实际上都是列表中的有效项 我注意到,如果我在过滤器选择中修改显示值,我可以看到错误图标和无效消息。是否有一种方法可以显示错误图标和invalidMessage,而无需将displayValue修改为列表中的无效值 此验证是必需的,因为用户可以选择有效选项,但根据用户执行的操作,该选项可能无效(自定义验证) 代码如下:

我正在为STRUTS应用程序使用DojoUI框架。我需要找到一种方法使
过滤器选择
项无效。正在设置
invalidMessage
,但是错误图标不会显示,因为列表中的所有值(包括所选值)实际上都是列表中的有效项

我注意到,如果我在
过滤器选择中修改
显示值
,我可以看到错误图标和
无效消息
。是否有一种方法可以显示错误图标和
invalidMessage
,而无需将
displayValue
修改为列表中的无效值

此验证是必需的,因为用户可以选择有效选项,但根据用户执行的操作,该选项可能无效(自定义验证)

代码如下:

HTML Struts和DOJO filteringselect

<s:select data-dojo-type="dijit/form/FilteringSelect"
   id="genderId" name=mygenderId" title="(7). Gender"
   headerKey="0" headerValue="Select Your Gender" list="genderList"
   listKey="id" missingMessage="Please Select Your Gender" required="true"
   invalidMessage="Invalid Gender Type !"
   listValue="genderName" style="width: 25em;" /> 

在您尝试覆盖其
验证程序()函数之前是否定义了
myWidget
?如果是,它是否具有
missingMessage
属性?听起来好像有些东西定义不正确,但如果不知道代码中是否/在何处发生错误,就很难判断。@DesertIvy myWidget是在试图覆盖验证程序之前定义的,并且在上面的coide中定义了一条missingMessage。我认为验证器没有显示红色感叹号的原因是在filteringselect选项中选择的值是有效的,因此它不能显示错误图标。在这里,我需要一种方式来显示图标,而不考虑所选的值。实际上,我将所选文本更改为不存在的值,并显示invalidMessage集。我可能需要重新安排我的问题。
 var myWidgetValue = 'Invalid option please try again !';
 var myWidget = dijit.byId("genderId");
 myWidget.validator = function () {                                       
    console.log('Setting '+widgetName + " : "+myWidgetValue);
    this.set("invalidMessage", myWidgetValue);
 };

 myWidget._hasBeenBlurred = true;
 myWidget.validate();