我一直在尝试显示来自validationTextBox的无效消息,说明它是如何不工作的。我复制粘贴了互联网上的例子,即使它不能工作。
我使用的是dojo 1.8,下面是我的示例代码
required属性突出显示文本框,但不显示消息
enter code here <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> My Test <link rel="stylesheet" type="text/css"
href="../MyTest2/js/dojoRoot/dijit/themes/claro/claro.css">
<script type="text/javascript">
dojo.require("dijit.form.ValidationTextBox");
dojo.require("dijit.form.Form");
</script>
</head>
<body class="claro">
<form id="addForm" dojoType="dijit.form.Form" action="save" method="post">
<table>
<tr>
<td>First Name</td>
<td><input type="text" name="firstName" id="firstName"
value="someTestString" required="true" dataType="dijit.form.ValidationTextBox" promptMessage="please enter first name" invalidMessage="first name is empty" /></td>
</tr>
</table>
</form>感谢Shasi
发布于 2013-08-24 16:46:57
您已使用dataType属性。它是"dojoType“。现在,"dojoType“已经被"data-dojo-type”所取代。你把它误认为dataType了。您可以使用"dojoType“或"data-dojo-type”,也可以使用missingMessage属性在用户移出字段时显示消息,而无需提供输入。"required“与"missingMessage”promptMessage一起用作工具提示。当用户关注该字段时,会显示该字段。当焦点从字段移开时,如果未满足提到的任何约束,则使用invalidMessage。让我给你举一个小例子。
<html>
<head>
<style type='text/css'>
@import "./js/dijit/themes/claro/claro.css";
</style>
<script type='text/javascript' src='./js/dojo/dojo.js' djConfig="parseOnLoad:true,isDebug:false">
</script>
<script type='text/javascript'>
dojo.require("dijit.form.ValidationTextBox");
</script>
</head>
<body class="claro">
<input type="text" dojoType="dijit.form.ValidationTextBox" id="namefld" name="namefld" required="true" missingMessage="Input is required for Name!" promptMessage="Pease enter you name!" regExp="[a-zA-Z]+" invalidMessage="Wrong input! Please correct!"/>
</body>
</html>发布于 2013-08-30 07:33:59
我使用的是Dojo的另一个版本(1.9),但是如果您的问题主要是表面上的,这里有两件事需要注意:
data-dojo-props="required:true, _hasBeenBlurred:true",_hasBeenBlurred会让小部件假定用户以前已经与它进行过一次交互。“输入名称...”)它可能在某些不支持HTML5 placeholder attribute.的IE版本上不起作用
https://stackoverflow.com/questions/18403514
复制相似问题