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